一般来说,日常使用只需要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60-100个命令。

1、基础知识
1.1、几个专用名词
- Workspace:工作区
- Index / Stage:暂存区
- Repository:仓库区(或本地仓库)
- Remote:远程仓库
1.2、默认分支
git最开始的默认分支叫master,后来为了适用性和避免歧义,默认分支更改为main。
2、代码库
2.1、在当前目录新建一个Git代码库
git init
2.2、新建一个目录,将其初始化为Git代码库
git init [project-name]
2.3、下载一个项目和它的整个代码历史
git clone [url]
3、配置命令
3.1、显示当前的Git配置
git config --list
3.2、编辑Git配置文件
git config -e [--global]
3.3、设置提交代码时的用户信息
git config [--global] user.name "[name]"
git config [--global] user.email "[email address]"
4、增加 / 删除命令
4.1、添加文件到暂存区 git add
git add [file1] [file2] ...
4.2、删除工作区文件,并且将这次删除放入暂存区 git rm
git rm [file1] [file2] ...
4.3、停止追踪文件,但该文件会保留在工作区
git rm --cached [file]
4.4、重命名文件,并且将这个改名放入暂存区
git mv [file-original] [file-renamed]
5、代码提交
5.1、提交暂存区到仓库
git commit -m "message"
5.2、提交暂存区的指定文件到仓库
git commit [file1] [file2] ... -m "message"
5.3、提交时显示所有diff信息
git commit -v
5.4、重做上一次commit
git commit --amend [file1] [file2] ... -m "message"
使用一次新的commit,替代上一次提交,如果代码没有任何新变化,则用来改写上一次commit的提交信息。
6、分支
6.1、列出所有本地分支
git branch
6.2、列出所有远程分支
git branch -r
6.3、列出所有本地分支和远程分支
git branch -a
6.4、新建一个分支,但依然停留在当前分支
git branch [branch-name]
6.5、新建一个分支,并切换到该分支
git checkout -b [branch]
6.6、新建一个分支,指向指定commit
git branch [branch] [commit]
6.7、新建一个分支,与指定的远程分支建议追踪关系
git branch --track [branch] [remote-branch]
6.8、切换到指定分支,并更新工作区
git checkout [branch-name]
6.9、建立追踪关系,在现有分支与指定的远程分支之间
git branch --set-upstream [branch] [remote-branch]
6.10、合并指定分支到当前分支
git merge [branch]
6.11、选择一个commit,合并到当前分支
git cherry-pick [commit]
6.12、删除分支
git branch -d [branch-name]
6.13、删除远程分支
git push origin --delete
git branch -dr
7、远程同步
7.1、下载远程仓库的所有变动
git fetch [remote]
7.2、显示所有远程仓库
git remote -v
7.3、显示某个远程仓库的信息
git remote show [remote]
7.4、增加一个新的远程仓库,并命名
git remote add [shortname] [url]
7.5、拉取远程仓库的变化,并于本地分支合并
git pull [remote] [branch]
7.6、上传本地指定分支到远程仓库
git push [remote] [branch]
7.7、强行推送当前分支到远程仓库,即使有冲突
git push [remote] --force
7.8、推送所有分支到远程仓库
git push [remote] --all