git使用不同的消息修改提交
我提交了一个带有消息“m1”的文件。后来,我修改了它,并试图修改最后的提交。但是,我已经更改了最后一条消息,并用消息“m2”提交了更改 情况是我有两个不同的提交,一个等待推送,另一个等待拉取。我完全不理解这种情况,我也不太明白到底发生了什么git使用不同的消息修改提交,git,Git,我提交了一个带有消息“m1”的文件。后来,我修改了它,并试图修改最后的提交。但是,我已经更改了最后一条消息,并用消息“m2”提交了更改 情况是我有两个不同的提交,一个等待推送,另一个等待拉取。我完全不理解这种情况,我也不太明白到底发生了什么 有什么想法吗?通过修改提交,您已经改变了存储库的历史记录。Git试图纠正这一点,声称您的分支与远程分支存在分歧,并允许您合并以修复它 不合并。如果修改了提交,则表示您打算重写历史记录 相反,您可以强制推送分支: git push --force 这将告诉G
有什么想法吗?通过修改提交,您已经改变了存储库的历史记录。Git试图纠正这一点,声称您的分支与远程分支存在分歧,并允许您合并以修复它 不合并。如果修改了提交,则表示您打算重写历史记录 相反,您可以强制推送分支:
git push --force
这将告诉Git您完全打算覆盖历史记录,并且您的本地分支机构有正确的历史记录反映在您的远程存储库中。通过修改提交,您已经更改了存储库的历史记录。Git试图纠正这一点,声称您的分支与远程分支存在分歧,并允许您合并以修复它 不合并。如果修改了提交,则表示您打算重写历史记录 相反,您可以强制推送分支:
git push --force
这将告诉Git您完全打算覆盖历史记录,并且您的本地分支具有要反映在远程存储库上的正确历史记录。问题在于,
Git提交--amend
不会也确实无法更改提交
相反,它创建了一个新的commit,除了您所修改的内容之外,它闻起来很像旧的commit。然后,它使当前分支名称指向新提交而不是旧提交
如果其他人已经有了旧的提交,他们仍然有。在这种情况下,您要么已经向上游发送了提交(使用git push
),要么首先从上游获得了提交(使用git fetch
,然后是将本地分支设置为包含提交的内容,通常是合并或重新基础)。所以他们还有原件,现在你有了副本:
C' <-- branch
/
... <- A <- B
\
C <-- upstream/branch
C'问题在于git commit--amend
不会也确实不能更改提交
相反,它创建了一个新的commit,除了您所修改的内容之外,它闻起来很像旧的commit。然后,它使当前分支名称指向新提交而不是旧提交
如果其他人已经有了旧的提交,他们仍然有。在这种情况下,您要么已经向上游发送了提交(使用git push
),要么首先从上游获得了提交(使用git fetch
,然后是将本地分支设置为包含提交的内容,通常是合并或重新基础)。所以他们还有原件,现在你有了副本:
C' <-- branch
/
... <- A <- B
\
C <-- upstream/branch
C'如果您创建了本地提交,但忘记添加一些文件。您可以运行:
git add .
git commit --amend -m "New Commit Message"
这将在已创建的提交中添加这些新文件,并更新提交消息。如果您只想更新提交消息,而不想更新内容,下面的命令就足够了
git commit --amend -m "New Commit Message"
如果您创建了本地提交,但忘记添加一些文件。您可以运行:
git add .
git commit --amend -m "New Commit Message"
这将在已创建的提交中添加这些新文件,并更新提交消息。如果您只想更新提交消息,而不想更新内容,下面的命令就足够了
git commit --amend -m "New Commit Message"