版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统,而 git 是个应用广泛的版本控制工具。
推荐参考书 Pro Git book
常用命令
描述 | 命令 |
---|---|
添加文件到暂存区 | git add file 或者git add . |
提交文件 | git commit 或者 git commit -m “message” |
查看工作区情况 | git status |
查看历史提交 | git log |
查看提交记录,准备吃后悔药 | git reflog |
撤销提交到暂存区的文件 | git reset HEAD file |
撤销提交到本地仓库的文件 | git reset -soft HEAD^n |
切换到 master 分支 | git checkout master |
从 HEAD 新建一个 new_branch 分支 | git checkout -b new_branch |
撤销暂存区和工作区,回到解放前 | git reset --hard |
从 url 克隆一个仓库 | git clone url |
推送 HEAD 到远程仓库并建立关联 | git push -u origin HEAD |
从远程仓库更新数据 | git fetch |
从远程仓库更新数据并合并到本地分支 | git pull |
进阶指令
命令 | 描述 |
---|---|
git bisect | 二分法查找引入错误的提交 |
git commit --amend | 修改最近一次提交的提交信息 |
git rebase -i HEAD~n | 交互式修改多个提交信息 |
git rebase A | 将当前分支变基到 A 分支 |
git cherry-pick id1^…id2 | 将id1到id2的所有commit复制到当前HEAD |
git format-patch HEAD^ | 生成最近一个commit的补丁 |
git apply xxx.patch | 应用补丁,不会将commit message等打上去 |
git apply --check xxx.patch | 检查补丁 |
git am xx.patch | 应用补丁,直接将patch的所有信息打上去 |
参考资料
https://ruanyifeng.com/blog/2018/12/git-bisect.html