我想将集成分支 merge 到 master,但我不想改变任何东西只是为了看起来不错。
集成分支是灰色的。这个分支包含很多变化,我想弄个技巧。要重置它,何时从 master 拆分,因为我可以看到最后的更改并将它们与 master 的一次提交一起提交。因此 master 将包含来自集成分支的最新版本的文件,但集成仍将与 master 分开。
我想将集成 merge 到 master 中,仅可视化(没有更改),以便在历史上看起来不错,因为我已经通过该单次提交进行了更改。
最后一个问题是:如何在 master 中 merge 集成而不对 master 进行更改,只影响历史(视觉上)?
我想这样做,因为:
最佳答案
我同意,在几乎所有情况下,您都不应该按照 OP 的要求去做,但我确实相信有时这样做确实有意义。我不会用我的理由来避免关于版本控制纯度的争论。
有很多方法可以做到这一点,但这里是一种。请注意,此命令使您能够真正搞砸您的生活(git 历史),所以要小心。
git reset "$(git commit-tree -p "$BRANCH_NO_CONTENT_CHANGE" -p "$BRANCH_PRETENDING_TO_MERGE_FROM" -m "Administrative (no-change) merge of $BRANCH_PRETENDING_TO_MERGE_FROM" "$(git log -n 1 --pretty=format:%T "$BRANCH_NO_CONTENT_CHANGE")")"
在 OP 的上下文中,
BRANCH_NO_CONTENT_CHANGE
是大师和BRANCH_PRETENDING_TO_MERGE_FROM
是整合。我也在“反向”中使用了它,其中我有一个神奇的分支,在那里发生了神奇的事情,我想让魔法分支的内容与捐助者分支相同(将最后一个变量的最后一个实例更改为另一个名称,更改 merge 提交消息 s/no-change/overwrite/,并忽略名称的语义)。除了保留历史之外,有点像强制 push 。
我强烈建议仔细检查文件的位置以及名称和内容,并进行测试 之前 push 这些改变,并将你的罪永远具体化。
关于git - 如何在不更改的情况下将分支 merge 到 master 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47670237/