一、基本配置与初始化
- 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
- 说明:管理多个工作树。
- 用例:根据具体需求使用相关工作树命令。