如何解决这个git混乱的问题?服务器上的文件领先两个提交

14 浏览
0 Comments

如何解决这个git混乱的问题?服务器上的文件领先两个提交

这个问题在这里已经有了答案:

将本地仓库分支重置为与远程仓库HEAD完全相同

每当我在服务器上执行git pull时,我会收到以下信息;

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

这两个应该同步。我不知道我是怎么到这里的。我想在服务器上有我在origin/master上的所有东西。我不介意失去最近几次提交的更改,这并不重要。我如何使它们重新同步,以便我可以像往常一样推送和拉取?

编辑:我运行了git checkout origin/master,将服务器上的代码恢复到之前的状态,但现在它处于分离HEAD状态。我怎样才能走出这个状态?

admin 更改状态以发布 2023年5月23日
0
0 Comments

AD7six的回答会丢弃您的本地更改。您还可以直接将本地拥有的内容发送到服务器: \n

git checkout master # Get back on a real branch from the detached HEAD
git push origin master

\n此外,gitk --all对于了解您拥有的仓库状态以及本地仓库如何与其远程相关联非常有用。

0
0 Comments

这个消息意味着你的服务器上的主分支拥有未在远程仓库中的提交。如果有人在服务器上提交了并且你不希望任何人从这个特定的检出中进行提交,就会导致这种情况。

查看这两个未在远程仓库中的提交

要查看这两个未在远程仓库中的提交:

git log origin/master..HEAD # just the commit messages
git diff origin/master..HEAD # the diff

移除这两个提交

如果不想保留这两个提交,可以将你的主分支与远程主分支完全匹配:

git checkout master # make sure you are on your master branch
git reset origin/master --hard # force local history to exactly match the remote.

保留这两个提交

如果想要保留这两个提交,只需将它们推送到远程仓库,你的主分支将与之同步:

git push origin master

0