我们有一个与开发分支D同步的功能分支F(每日合并D - > F,每月合并F - > D)。
我现在有一个案例,我想要创建源代码更改,不应该同步到D,但我仍然想要轻松同步F - > D. Git能否以某种方式将提交标记为不可转让?
通过这个标记,我的意思是Git应该通过合并从分支F到分支D的所有更改来过滤此提交。
答案 0 :(得分:2)
您可以尝试为提交创建合并历史记录,而不会进行更改。
分支到D和F可到达的地方
git checkout -b not-transferable $(git merge-base F D)
创建更改并提交
git checkout D
在D上创建合并历史记录而不会带来更改
git merge --strategy=ours not-transferable
实际上将文件合并到F
git checkout F
git merge not-transferable
当你将F合并到D时,理论上它应该不会将那个提交的更改转发给D,同时仍然会带来其他所有内容。