git基本用法笔记

分支建立于合并

git commit # 提交 git branch branch_name # 新建分支 git checkout branch_name # 切换分支 git merge branch_name # 合并分支 # 将branch_name合并到当前分支,并增加一次commit git rebase branch_name # 复制分支 # 将当前分支所有commit复制到branch_name,没有新增commit # 当前分支和branch_name 有共同的祖先

在分支树上移动

branch_name指向分支树上的一个提交记录,每一个提交记录都有唯一的SHA-1 Hash值标识作为commit id

默认HEAD指向当前提交记录,当前记录有分支名,则显示为branch_name*

HEAD可以指向任何其他的提交记录,只需要checkout到一个指定的commit id,或者使用引用

git checkout da3423* # 相对引用^ git checkout HEAD^^ # 将HEAD指向HEAD的第2父提交 git checkout master^ # 将HEAD指向master的第1父提交 git branch -f master HEAD^^^ # 强制将master指向HEAD的第三父提交 # 相对引用~ git checkout HEAD~10 # 将HEAD指向HEAD前10个commit id # 撤销变更 git reset master^ # 当前分支指向master^,工作区内容不变 git revert master^ # 增加一次提交,使当前分支与master^相同

移动提交记录

git cherry-pick <提交号>... # 将一系列提交copy到当前分支 git rebase -i <提交号> # 以-i参数为基,重新整理提交(排序,删除等)