git fake merge(将提交标记为 merge 而没有真正的 merge )

标签 git merge git-amend

<分区>

假设我的存储库中有以下历史记录:

     E--F
    /
A--B--C---D

我想修改成这样:

     E--F
    /    \
A--B--C---D

我不想修改revisions的文件内容,只想“画个 merge 箭头”。我该怎么做?

我尝试通过以下命令执行此操作:

git checkout D
git merge F -s ours --no-ff --no-commit
git commit --amend

但我收到以下错误信息:

fatal: You are in the middle of a merge -- cannot amend.

我想保留提交信息不变(作者、日期、消息)。我唯一想更改的是将伪 merge 信息添加到提交中。

最佳答案

这对我有用:

git checkout D~1
git merge F -s ours --no-ff --no-commit
git cherry-pick D -n
git commit -C D
git branch -f D
git checkout D

关于git fake merge(将提交标记为 merge 而没有真正的 merge ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49858890/

相关文章:

windows - Git 状态显示文件两次但大小写不同

git - 在 git 中保留本地更改

dataframe - 在 Julia 中每组合并具有 NaN 的行

git commit --amend - 未进行任何更改时更改提交哈希

git - 'revert'、 'amend,'、 'rollback' 和 'undo' 之间有什么区别?

node.js - AWS Elastic Beanstalk : Do I have to deploy my app with full "/node_modules" and "/bower_components" and compiled sass and other dependencies?

GIT 差异与 0000000000000000000000000000000000000000

c - 文本合并

Git 新文件出现在所有分支

git - 意外推送提交 : change git commit message