添加 git add
Add file contents to the index
将文件内容添加到索引
git add
命令将文件内容添加到索引库(将修改记录添加到暂存区)。也就是将要提交的文件的信息添加到索引库中。
添加修改记录至暂存区
# 文件
git add <file1> <file2> <file3> ...
# 目录
git add <dir>
# 所有目录文件(包括修过过的文件、新建的文件,但不包括删除的文件)
git add .
📍 示例:
# 提交单个文件
git add index.html
# 提交 markdown 文件
git add *.md
分次添加修改至暂存区
添加每个变化前,都会要求确认。对于同一个文件的多处变化,可以实现分次提交。
-p
参数相当于 --patch
,表示多次提交。
git add -p
git add --patch
📍 示例:
# 将以Controller结尾的文件的所有修改添加到暂存区
git add *Controller
# 将所有以Hello开头的文件的修改添加到暂存区 例如:HelloWorld.txt,Hello.java,HelloGit.txt ...
git add Hello*
# 将以Hello开头后面只有一位的文件的修改提交到暂存区 例如:Hello1.txt,HelloA.java 如果是HelloGit.txt或者Hello.java是不会被添加的git add [file1] [file2] ...
git add Hello?
添加跟踪修改至暂存区
标记本地有改动(包括删除和修改,但不包括新建)的已经追踪的文件,并添加至暂存库。
-u
即 --update
表示更新索引,使其具有与 <pathspec>
匹配的条目。
省略 <path>
表示 .
,即当前目录。
git add -u [<pathspec>]
git add --update [<pathspec>]
添加修改到暂存区
标记本地所有改动的文件(包括删除、修改和新建),并添加至暂存库。
-A
即 --all
或 --no-ignore-removal
表示更新索引,不仅在工作树具有匹配 <pathspec>
的文件的位置,而且索引已经有条目的位置。
git add -A
git add --all
git add --no-ignore-removal
git add -A
相当于同时执行 git add .
和 git add -u
。
分支 git branch
List, create, or delete branches
列出, 创建, 或者删除分支
查看分支
查看本地分支
# 查看本地所有分支
git branch
查看远程分支
# 查看远程所有分支 -r 相当于 --remote
git branch -r
# 查看本地分和远程所有分支 -a 相当于 all
git branch -a
# 查看本地分支关联远程分支的情况(可以看到本地与远程的差距)
git branch -v
更新远程分支列表:
git remote update origin --prune
新建分支
新建一个分支,但依然停留在当前分支。
# 基于当前分支末梢新建分支但并不切换分支
git branch <branchname>
# 基于当前分支末梢新建分支并切换至该分支
git checkout -b <branchname>
# 基于某次提交、分支或标签创建新分支
git branch <branchname> <commit-id>
# 新建一个分支,与指定的远程分支建立追踪关系
git branch --track <branch-name> <remote-branch>
关联远程分支
关联之后,git branch -vv
就可以展示关联的远程分支名了,同时推送到远程仓库。
git branch -u <branch-name>
或者在 git push
时加上参数 -u
参数。
git push -u origin/<branch-name>
git push --set-upstream origin/<branch-name>
切换分支
切换到指定分支。<branch-name>
为切换到的目标分支。
git checkout <branch-name>
修改分支
修改指定分支名称。<branch-name>
为指定分支新名称。-m
即 --move
表示移动或重命名和相应的引用日志。
# 修改指定分支名称
git branch -m <old_name> <new_name>
删除分支
删除本地分支
git branch -d <local-branch-name>
删除远程分支
# 语法
git push origin --delete <branch-name>
git branch -dr [remote/branch]
# 示例:删除远程分支 feature/test
git push origin --delete feature/test
git branch -dr origin/branchA
# 删除后推送至远程仓库
git push origin:<branchname>