我想将集成分支合并到master中,但我不想改变任何东西只是为了看起来不错。
集成分支是灰色的。这个分支包含很多变化,我想制作一个技巧。要重置它,何时从master拆分,因为我可以看到最后的更改并将它们与master一次提交。因此master将包含来自集成分支的最新版本的文件,但集成将保持从master分离。
我希望将集成合并到主服务器中,只能将可视化(无需更改)合并到历史记录中,因为我已经对该单个提交进行了更改。
最后一个问题是:如何在master中合并集成而不在master上进行更改,只会影响历史记录(可视化)?
我想这样做,因为:
答案 0 :(得分:0)
为实现这一目标,您需要采取的步骤是:
但只有在集成不是公共分支时,这才有效。如果是,那么你将重写其历史并不是一件好事。如果它是公开的,那么你唯一能做的就是将它与master合并,但你不会有线性历史。
答案 1 :(得分:0)
我同意在几乎所有情况下你都不应该做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
为整合。
我也在"反向"我有一个神奇的分支,其中魔术事件发生,我想使魔术分支的内容与捐助者分支相同(更改出现在另一个名称的最后一个变量的最后一个实例,更改合并提交消息s /无变化/ overwrite /,并忽略名称的语义)。除了保存历史之外,有点像推力。
我强烈建议仔细检查哪些文件在哪里有什么名称和内容,然后测试之前推动这些变化并将你的罪恶永久化为。