我有一个孤立根节点,其中包含来自另一个根节点的额外文件。是否有一种方法可以移除孤立根节点中的额外文件,就好像它们从来不存在,但不触及主根节点?
发布于 2018-11-01 17:37:14
这里有几个要点将指导你:
因此,如果你有:
A <-B <-C <-- master1
D <-E <-- master2
而且您不喜欢提交D
中的快照,您只需提取提交D
并在没有父级的情况下创建一个新提交F
,这样F
就是一个新的根提交:
$ git checkout master2
$ git checkout --orphan master3
$ git rm ...
$ git commit -m 'make commit F'
其结果是:
A <-B <-C <-- master1
D <-E <-- master2
F <-- master3
注意,如果要用E
替换master2
,则现在必须复制提交master3
的效果。
$ git cherry-pick master2
给予:
A <-B <-C <-- master1
D <-E <-- master2
F <-E' <-- master3
现在可以删除master2
并将master3
重命名为master2
。对于没有注意散列it的人来说,只看分支名称,现在似乎修改了提交D
。(您不知道,任何关注散列ID的人(就像Git一样)都会知道这一点。)
https://stackoverflow.com/questions/53104475
复制相似问题