修改对上游主服务器的提交,而无需强行推向主服务器

时间:2019-02-19 05:19:14

标签: git

假设我$ git log并得到类似的东西

- fix(login): can login
# I want to amend this commit msg
- bleh
- feat(login): facebook oauth

我可以做...

git checkout -b fix/history
git rebase -i
# use reword to amend a non-previous commit
git push origin fix/history

虽然此PR的差异为空,但我不确定合并是否仅添加两个提交而不是修改HEAD~n提交。

是通过rebase -i进行修改并在主控上强制执行的唯一方法吗?

2 个答案:

答案 0 :(得分:3)

您可以尝试git-notes link。这只会在您的上一次提交消息中添加一些其他信息,而这些消息并未完全更改或修改。

答案 1 :(得分:1)

不修改git历史记录就无法以任何方式修改提交。 每当您对历史进行变基,修改或进行任何修改(甚至只是消息)时,您都会创建具有相同/修改内容的新提交。

强行推入任何其他用户可能已经拉过的分支都是非常危险的,因为它将创建git history fork。

如果您是一个人工作,或者可以与其他同事清楚地交流以删除其分支的本地版本并拉出新分支,请随时强行推入。