0

我想删除我的 repo,但我想确保我的所有变更集都已被推送。git log origin..HEAD两者git log origin/master..master都没有显示。但是,当我尝试时git push,我得到:

To remote-repo
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to '/van/work/nms/esteras/cmpt-bitArray-clean1.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.

如果我没有本地更改,它不应该只是说Everything up-to-date吗?如果我有传出更改,我怎么知道它们是什么?我可能不在乎他们,但我需要知道他们要决定什么。

4

2 回答 2

1

这可能发生在远程站点发生更改,或者(更糟糕的情况)已被重新定位(称为操作重写历史记录)时。

您可以使用此方法找到本地 HEAD(主)和远程之间的区别:

于 2012-11-14T16:28:32.550 回答
0

你想跑步git diff origin/mastergit diff origin/master..master

git diff origin/master...master比较自上次推送以来的更改,或者更确切地说是本地历史记录中不在远程的更改。

于 2012-11-15T00:28:00.447 回答