学习Git
https://oschina.gitee.io/learn-git-branching/?demo
git commit 提交记录
git branch 创建分支
git checkout
分支与合并
git merge 合并指定分支到当前分支
要把 bugFix 合并到 master 里
git merge bugFix
再把 master 分支合并到 bugFix
git checkout bugFix
git merge master
git rebase 重定位当前分支到指定分支下
bugFix 当前分支
git rebase master
bugFix 分支上的工作在 master 的最顶端
在提交树上移动
HEAD 是一个对当前检出记录的符号引用 —— 也就是指向你正在其基础上进行工作的提交记录。
HEAD 总是指向当前分支上最近一次提交记录。大多数修改提交树的 Git 命令都是从改变 HEAD 的指向开始的。
HEAD 通常情况下是指向分支名的(如 bugFix)。在你提交时,改变了 bugFix 的状态,这一变化通过 HEAD 变得可见。
相对引用
^ 向上移动 1 个提交记录
~num 向上移动多个提交记录,如 ~3
git log 查看提交记录的哈希值
强制修改分支位置
使用相对引用最多的就是移动分支。
可以直接使用 -f 选项让分支指向另一个提交。例如:
git branch -f master HEAD~3
上面的命令会将 master 分支强制指向 HEAD 的第 3 级父提交。
撤销变更
git Reset
撤销本地
git revert
撤销远程
整理提交记录
git cherry-pick
命令形式为:
git cherry-pick <提交号>…
将一些提交复制到当前所在的位置(HEAD)下面。
交互式的 rebase
交互式 rebase 指的是使用带参数 –interactive 的 rebase 命令, 简写为 -i
增加了这个选项, Git 会打开一个 UI 界面并列出将要被复制到目标分支的备选提交记录,还会显示每个提交记录的哈希值和提交说明,提交说明有助于理解这个提交进行了哪些更改。
删除远程分支
git branch -a (查看所有的分支)
git push origin –delete new_a (删除origin的名为new_a的分支)