Git 命令: add、cherry pick
一 简述
最近,在公司的某项学习任务考核中,涉及从 0 开始编辑一个项目,以及 git 相关操作。这里遇到了 git add -u 和 cherry pick 等命令。本篇将介绍相关的几个命令,加深对 git 命令的理解。
二 git add
在日常开发中,最常用的就是 git add file,git add ., git add -A 几个命令,用于提交文件到数据暂存区。
2.1 git add -u
git add -u <==> git add –update
提交所有被删除和修改的文件到数据暂存区
2.2 git add .
git add .提交所有修改的和新建的数据暂存区
2.3 git add -A
git add -A <==>git add –all
提交所有被删除、被替换、被修改和新增的文件到数据暂存区
三 cherry pick
3.1 使用场景
对于多分支的代码库,将代码从一个分支转移到另一个分支是一种比较常见的需求。这时分两种情况。一种情况是,需要另一个分支的所有代码变动,那么就采用合并(git merge
)。另一种情况是,我们只需要部分代码变动(某几个提交),这时可以采用 Cherry pick。
3.2 使用方式
git cherry-pick
命令的作用,就是将指定的提交(commit)应用于其他分支。
其中,commitHash 是我们提交代码到 git 时对应的 hash 值。例如下面是我在本地通过 git log 查看的,下面的 commit ff445062b1424c40bae6b7eb0e639203491031a6, ff445062b1424c40bae6b7eb0e639203491031a6 就是 commitHash。
cherry-pick 类似于一个定制化的 merge,它可以把其它分支上的 commit 一个个摘下来,合并到当前分支。
当有多个 commit 要合并到 master 分支时应该怎样操作呢?一个个的执行显然不合适。所幸的是,git 提供了一个区间操作方法。命令如下:
但有一点需要注意,这是一个左开右闭的操作,也就是说,commit1 不会被合并到 master 分支,而 commit10 会合并到 master 中。
版权声明: 本文为 InfoQ 作者【程序员架构进阶】的原创文章。
原文链接:【http://xie.infoq.cn/article/f6c793264607e6b404bafff73】。文章转载请联系作者。
评论