【问题标题】:GIT: how to merge two branches without actually merging files (trivial merge)GIT:如何在不实际合并文件的情况下合并两个分支(简单的合并)
【发布时间】:2016-06-15 10:35:22
【问题描述】:

git 有没有办法在不合并文件的情况下合并两个分支?换句话说只是为了绘制合并箭头。

假设我有分支A和B。我需要将分支B合并到A,但不需要B中的所有更改,而只需要链接到分支。

git checkout A
git merge B --no need changes

一般来说,有一种方法可以在没有子模块的情况下合并两个分支。我想保留分支 A 中的子模块,但仍需要合并分支 B。

【问题讨论】:

  • “不合并文件”是什么意思
  • 只画合并箭头是什么意思?一个提交,作为父母,两个分支中的最后一个提交,但其中一个分支的树?也许您可以描述一下您的用例?
  • 我只需要创建提交图。换句话说,只需要绘制一个合并箭头,而无需实际将两个版本合并在一起
  • 听起来你在问git merge -s ours B,但你的描述并不完全清楚。

标签: git git-merge


【解决方案1】:

使用git merge -s ours B 执行合并,丢弃 B 将引入的任何更改。尽管如此,来自B 的提交现在位于A,但是,文件在合并之前处于A 的状态。

【讨论】:

    【解决方案2】:

    您可以进行真正的合并并运行git reset ORIG_HEAD --hard 以返回。

    如果您只是想尝试或研究git merge 之后会发生什么,您可以通过git commit --allow-empty --allow-empty-message --no-edit 多次进行一系列空提交。创建提交和分支后,您可以运行 git merge 并使用 gitkgit log --oneline --graph 查看提交图形。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-21
      • 1970-01-01
      • 2022-01-13
      • 1970-01-01
      • 1970-01-01
      • 2019-04-15
      相关资源
      最近更新 更多