【一起来学 Git】LearnGitBranching-移动提交记录【Learn Git Together】
前言
这是一个陆爻齐跟着
Learn Git Branching
网站学习(复习) Git 的系列记录,会跟着其内容的步伐做学习记录,并结合自身浅薄的知识积累和几乎为零的实践经验做一点点的补充。私以为,该网站比较适合有一点 Git 基础来学习,如果是完全零基础,还是看看 Git 官网教程,在 GitHub 这样的代码托管网站走一遍流程比较好。
注意,由于下面的笔记不可避免地涉及到过关的答案,所以强烈建议,自行体验过网站内容再看本文。
正文
自由修改提交树
- 作者在这表示之前的内容(【一起来学 Git】LearnGitBranching-基础篇【Learn Git Together】、【一起来学 Git】LearnGitBranching-高级篇【Learn Git Together】)已经涵盖了 Git 90% 的功能,但是剩下 10% 的功能正是为一些复杂的工作而准备的。
Git Cherry-pick
正如本篇的引语一般可以自由地修改提交树(的一点),可以把任意 commit 集中到当前分支上来,比如在其他分支有名为 c2、c5 的分支(这里的名指的是哈希值),那么可以用以下命令来实现集中 c2 和 c5 到当前分支来。
git cherry-pick c2 c5
非常地简单啊,还是赶紧到下一个环节罢。
交互式 rebase
此前在 【一起来学 Git】LearnGitBranching-高级篇【Learn Git Together】,我们学过 git rebase,这里用到了其中的参数,-i,也就是使其能够交互的原因。
比如我要对包括新 commit 在内,HEAD的前四个 commit 做修改,那么就用命令
git rebase -i HEAD~4
。在修改完后,会在前面第五个 commit 出现另一条分支,把修改后的四个 commit 复制到这个小分支上。修改的具体过程在网站采用了另一种形式表达,并支持删除和重新排序。下面陆爻齐复制一下真实情况下,对某个项目采用这个交互式 rebase 出现的操作界面。
1 | pick f8a55e9 [3.1.4]update themepack config |
- 可以看到除了删除和重新排序的功能外,还支持合并 commit 等功能,反正十分强大。修改后只要保存这个命令就行。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 LuYaoQi's Blogs!