在调用之后git merge --no-commit <commit>,执行提交将导致与两个(或更多)父项的合并提交.调用什么命令来创建一个简单的提交(不必用--squash选项重新执行merge命令)?
根据git-merge 手册页, --squash 选项不记录$GIT_DIR/MERGE_HEAD。$GIT_DIR/MERGE_HEAD负责创建合并提交;你可以在 Git 源文件builtin/commit.c中看到这一点:
in_merge = file_exists(git_path("MERGE_HEAD"));
...
if (in_merge) {
... // Perform merge_commit
}
解决方案:执行正常合并后,只需删除$GIT_DIR/MERGE_HEAD即可避免合并提交。您也可以手动清理$GIT_DIR/MERGE_MSG和 $GIT_DIR/MERGE_MODE 或在成功提交后将此任务留给 Git。
| 归档时间: |
|
| 查看次数: |
429 次 |
| 最近记录: |