一、基本配置与初始化
- git config
- 说明:配置Git的各种选项和变量。
- 用例:
- 设置用户名:git config --global user.name "[name]"
- 设置邮箱:git config --global user.email "[email address]"
 
- 设置用户名:
 
- git init
- 说明:在当前目录初始化一个新的Git仓库。
- 用例:git init [repository name](可选仓库名)
 
- git clone
- 说明:克隆远程仓库到本地。
- 用例:git clone [url]
 
二、文件操作
- git add
- 说明:将文件添加到暂存区。
- 用例:
- 添加指定文件:git add [file1] [file2]...
- 添加当前目录下所有修改或新增的文件:git add .
 
- 添加指定文件:
 
- git commit
- 说明:提交暂存区的文件到本地仓库。
- 用例:git commit -m "[Type in the commit message]"
 
- git status
- 说明:显示工作区和暂存区的状态。
- 用例:git status
 
- git diff
- 说明:显示文件修改的差异。
- 用例:
- 显示工作区与暂存区的差异:git diff
- 显示两个分支之间的差异:git diff [first branch] [second branch]
 
- 显示工作区与暂存区的差异:
 
- git rm
- 说明:从版本库中删除文件,并将删除动作添加到暂存区。
- 用例:git rm [file]
 
- git mv
- 说明:移动或重命名文件。
- 用例:git mv [old name] [new name]
 
三、分支与合并
- git branch
- 说明:列出、创建或删除分支。
- 用例:
- 列出所有本地分支:git branch
- 创建新分支:git branch [branch name]
- 删除指定分支:git branch -d [branch name](确保分支已合并)
 
- 列出所有本地分支:
 
- git checkout
- 说明:切换分支或恢复文件。
- 用例:
- 切换分支:git checkout [branch name]
- 创建并切换到新分支:git checkout -b [branch name]
- 恢复文件到最近一次提交的状态:git checkout -- [file]
 
- 切换分支:
 
- git merge
- 说明:合并指定分支到当前分支。
- 用例:git merge [branch name]
 
- git rebase
- 说明:变基操作,将提交应用于另一分支。
- 用例:git rebase [branch]
 
四、远程操作
- git remote
- 说明:管理远程仓库。
- 用例:
- 显示远程仓库的详细信息:git remote -v
- 添加远程仓库:git remote add [variable name] [Remote Server Link]
- 移除远程仓库:git remote rm [variable name]
 
- 显示远程仓库的详细信息:
 
- git fetch
- 说明:从远程仓库拉取最新变更,但不会自动合并到本地分支。
- 用例:git fetch [remote]
 
- git pull
- 说明:拉取远程分支并合并到本地分支。
- 用例:
- 拉取并合并指定分支:git pull [remote] [branch]
- 使用rebase方式拉取:git pull --rebase [remote] [branch]
 
- 拉取并合并指定分支:
 
- git push
- 说明:将本地分支推送到远程仓库。
- 用例:
- 推送主分支:git push [variable name] master
- 推送指定分支:git push [variable name] [branch]
- 推送所有分支:git push [variable name] --all
- 删除远程分支:git push [variable name] :[branch name]
- 强制推送:git push [variable name] [branch] --force
 
- 推送主分支:
 
五、撤销与重置
- git reset
- 说明:撤销提交或将文件从暂存区移除。
- 用例:
- 撤销暂存区的文件更改:git reset [file]
- 撤销指定提交之后的所有提交,并在本地保留变更:git reset --hard [commit hash]
 
- 撤销暂存区的文件更改:
 
- git revert
- 说明:撤销指定提交的更改,并创建一个新的提交来反转该更改。
- 用例:git revert [commit]
 
- git stash
- 说明:暂存当前工作区的修改。
- 用例:
- 暂存修改:git stash
- 应用暂存的修改:git stash apply
- 恢复并删除暂存的修改:git stash pop
- 删除暂存的修改:git stash drop
 
- 暂存修改:
 
六、查看历史与日志
- git log
- 说明:显示提交日志。
- 用例:
- 查看当前分支的提交历史记录:git log
- 查看最近3个版本的修改情况:git log --no-pager -3 -p
- 查看分支合并图:git log --graph
 
- 查看当前分支的提交历史记录:
 
- git show
- 说明:显示某次提交的详细内容。
- 用例:git show [commit]
 
- git reflog
- 说明:查看引用日志,用于恢复误删除的提交或分支。
- 用例:git reflog
 
七、其他高级命令
- git tag
- 说明:创建、列出或删除标签。
- 用例:
- 列出标签:git tag
- 创建标签:git tag [name]
- 删除标签:git tag -d [name]
 
- 列出标签:
 
- git bisect
- 说明:用于二分查找引入bug的提交。
- 用例:
- 启动二分查找:git bisect start
- 标记当前提交包含bug:git bisect bad
- 标记指定提交为没有bug:git bisect good [commit]
- 结束二分查找并重置HEAD到原来的状态:git bisect reset
 
- 启动二分查找:
 
- git grep
- 说明:在代码库中搜索指定模式。
- 用例:git grep [pattern]
 
- git clean
- 说明:从工作区中移除未跟踪的文件。
- 用例:
- 显示将要删除的未跟踪文件,但并不删除它们:git clean -n
- 强制删除工作区中的未跟踪文件:git clean -f
- 删除未跟踪文件和目录:git clean -df
 
- 显示将要删除的未跟踪文件,但并不删除它们:
 
- git submodule
- 说明:管理子模块。
- 用例:根据具体需求使用相关子模块命令。
 
- git worktree
- 说明:管理多个工作树。
- 用例:根据具体需求使用相关工作树命令。
 
