关于Git的add commit push命令的使用

本文详细解析Git的add、commit、push命令,介绍如何通过这些命令实现代码的修改、提交和推送过程。从工作区到暂存区,再到本地及远程仓库,一步步引导读者掌握Git的基本操作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Git的add、commit、push命令

简单的代码提交流程
1、git status 查看工作区代码相对于暂存区的差别
2、git add . 将当前目录下修改的所有代码从工作区添加到暂存区 . 代表当前目录
3、git commit -m ‘注释’ 将缓存区内容添加到本地仓库
4、git push origin master 将本地版本库推送到远程服务器, 
5、origin是远程主机,master表示是远程服务器上的master分支,分支名是可以修改的
Git add
 git add [参数] <路径> 作用就是将我们需要提交的代码从工作区添加到暂存区,就是告诉git系统,我们要提交哪些文件,之后就可以使用git commit命令进行提交了。 
 为了方便下面都用 . 来标识路径, . 表示当前目录,路径可以修改,下列操作的作用范围都在版本库之内。

git add .         不加参数默认为将修改操作的文件和未跟踪新添加的文件添加到git系统的暂存区,注意不包括删除
git add -u .     -u 表示将已跟踪文件中的修改和删除的文件添加到暂存区,不包括新增加的文件,注意这些被删除的文件被加入到暂存区再被提交并推送到服务器的版本库之后这个文件就会从git系统中消失了。
git add -A .     -A 表示将所有的已跟踪的文件的修改与删除和新增的未跟踪的文件都添加到暂存区。
Git commit
 git commit 主要是将暂存区里的改动给提交到本地的版本库。每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,这个哈希值也叫commit-id,commit-id 在版本回退的时候是非常有用的,它相当于一个快照,可以在未来的任何时候通过与git reset的组合命令回到这里。 

git commit -m ‘message’      -m 参数表示可以直接输入后面的“message”,如果不加 -m参数,那么是不能直接输入message的,而是会调用一个编辑器一般是vim来让你输入这个message, message即是我们用来简要说明这次提交的语句。
git commit -am ‘message’ -am等同于-a -m      -a参数可以将所有已跟踪文件中的执行修改或删除操作的文件都提交到本地仓库,即使它们没有经过git add添加到暂存区, 
注意: 新加的文件(即没有被git系统管理的文件)是不能被提交到本地仓库的。
Git push
 在使用git commit命令将修改从暂存区提交到本地版本库后,只剩下最后一步将本地版本库的分支推送到远程服务器上对应的分支了,如果不清楚版本库的构成,可以查看我的另一篇,git 仓库的基本结构。 
 git push的一般形式为 git push <远程主机名> <本地分支名> <远程分支名> ,例如 git push origin master:refs/for/master ,即是将本地的master分支推送到远程主机origin上的对应master分支, origin 是远程主机名。第一个master是本地分支名,第二个master是远程分支名。

git push origin master    如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建
git push origin :refs/for/master  如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支,等同于 git push origin –delete master
git push origin   如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支
git push  如果当前分支只有一个远程分支,那么主机名都可以省略,形如 git push,可以使用git branch -r ,查看远程的分支名。

### 使用 Git 进行添加、提交和推送操作 #### 初始化仓库 为了使用当前目录作为 Git 环境,需执行初始化命令。这会创建一个新的空 Git 仓库,在指定路径下生成隐藏的 `.git` 文件夹。 ```bash $ git init Initialized empty Git repository in /home/user/git/testing/.git/ ``` #### 添加文件至暂存区 当文件准备好加入版本控制时,应先将其添加到暂存区域。通过 `git add .` 命令可以一次性把所有未跟踪的新文件以及修改过的已跟踪文件都放入暂存区;也可以针对单个文件执行此操作: ```bash $ git add filename.txt ``` #### 创建提交记录 一旦更改被成功添加到了暂存区,则可以通过编写有意义的信息来描述此次变更集并正式保存它们成为一次完整的提交。这里推荐采用标准化的消息格式以便于后续维护人员理解每次改动的目的与影响范围[^3]。 ```bash $ git commit -m "Add feature X" [master (root-commit) d87e9b0] Add feature X 1 file changed, 2 insertions(+), 0 deletions(-) create mode 100644 filename.txt ``` #### 推送更新至远程库 最后一步就是将本地所做的全部变动同步给远端服务器上的对应分支。在此之前建议先拉取最新版以避免潜在冲突问题的发生[^4]。 ```bash # 更新前获取最新的上游变化 $ git pull origin develop # 将本地develop分支推送到origin主机上同名分支 $ git push origin develop Counting objects: 3, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 256 bytes | 0 bytes/s, done. Total 3 (delta 1), reused 0 (delta 0) To https://github.com/example/repo.git eafbcde..d87e9b0 develop -> develop ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值