Git
About 604 wordsAbout 2 min
2023-10-03
Git
Git 的命令行接口
为了避免重复信息,我们将不会详细解释以下命令行。
强烈推荐您阅读 Pro Git 中文版。
基础
git help <command>:获取 git 命令的帮助信息git init:创建一个新的 git 仓库,其数据会存放在一个名为 .git 的目录下git status:显示当前的仓库状态git add <filename>:添加文件到暂存区git commit:创建一个新的提交- 如何编写良好的提交信息
- 为何要编写良好的提交信息
git log:显示历史日志git log --all --graph --decorate:可视化历史记录(有向无环图)git diff <filename>:显示与暂存区文件的差异git diff <revision> <filename>:显示某个文件两个版本之间的差异git checkout <revision>:更新 HEAD 和目前的分支
分支和合并
git branch:显示分支git branch <name>:创建分支git checkout -b <name>:创建分支并切换到该分支(相当于git branch <name>;git checkout <name>)git merge <revision>:合并到当前分支git mergetool:使用工具来处理合并冲突git rebase:将一系列补丁变基为新的基线
远端操作
git remote:列出远端git remote add <name> <url>:添加一个远端git push <remote> <local branch>:<remote branch>:将对象传送至远端并更新远端引用git branch --set-upstream-to=<remote>/<remote branch>:创建本地和远端分支的关联关系git fetch:从远端获取对象/索引git pull:相当于git fetch;git mergegit clone:从远端下载仓库
撤销
git commit --amend:编辑提交的内容或信息git reset HEAD <file>:恢复暂存的文件git checkout -- <file>:丢弃修改git restore:git2.32版本后取代git reset进行许多撤销操作
Git 高级操作
git config:Git 是一个高度可定制的工具git clone --depth=1:浅克隆(不包括完整的版本历史信息)git add -p:交互式暂存git rebase -i:交互式变基git blame:查看最后修改某行的人git stash:暂时移除工作目录下的修改内容git bisect:通过二分查找搜索历史记录.gitignore:指定故意不追踪的文件