我一直在做某件事,然后觉得它完全搞砸了……在犯下一些罪行之后。所以我尝试了下面的顺序:

git reset --hard
git rebase origin
git fetch
git pull
git checkout

这时我明白了

Your branch is ahead of 'origin/master' by 2 commits.

我想放弃本地提交,而不必清除本地目录并重新下载所有内容。我怎么才能做到呢?


当前回答

git reset --hard origin/master

将删除所有不在origin/master中的提交,其中origin是repo名称,master是分支名称。

其他回答

你需要逃离

git fetch

获得所有更改,然后您将不会收到“您的分支领先”的消息。

git reset --hard origin/master

将删除所有不在origin/master中的提交,其中origin是repo名称,master是分支名称。

我所做的就是努力重置为HEAD。这将清除所有的本地提交:

git reset --hard HEAD^

我必须做一个:

git checkout -b master

就像少年犯说的,它不存在,因为它已经被抹去了

git -D master

我曾经见过远程不同步,需要更新的例子。如果reset -hard或branch -D失败,请尝试

git pull origin
git reset --hard