git cherry-pick 的一个陷阱!!!

假设有如下master的分支:

---- master ----- a ----- b ----- c (branch alice)
      |
      |
      o ----- p ----- q (branch bob)

master:
有文件 main.pyalicebob 共有)

commit a
新建文件 function_a.py
改动 main.py

commit b
改动 function_a.py
改动 main.py

commit c
只改动了 main.py

-------------------

commit o
改动 main.py

commit p
改动 main.py

commit q
改动 main.py

此时,我们在 branch bob 的 commit q 上, 执行:git cherry-pick c

那么, Alicemain.py上所有的改动 (包括之前commit ab 的)都会被 pick up。
但是!!!
但是!!!
但是!!!
function_a.py 不会被 pick up, 不会出现。

你可能感兴趣的:(git)