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