首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我该如何理清这个烂摊子呢?服务器上的文件提前两次提交

我该如何理清这个烂摊子呢?服务器上的文件提前两次提交
EN

Stack Overflow用户
提问于 2013-04-01 22:30:12
回答 2查看 779关注 0票数 2

每当我在服务器上执行git拉操作时,我都会收到这样的消息;

代码语言:javascript
运行
复制
Your branch is ahead of origin/master by 2 commits.

这两者应该是同步的。我不知道我是怎么到这来的。我想要在服务器上的原始/主目录中的所有内容。我不关心我是否丢失了最后几次提交的更改,这并不重要。我怎样才能让它们保持同步,这样我才能像往常一样推拉?

编辑:我运行了git checkout origin/master,并将服务器上的代码恢复到以前的状态,但现在我处于分离的头状态。我怎么才能摆脱它呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-01 22:39:57

此消息表示您的服务器上的主分支具有不在远程中的提交。如果有人在服务器上提交,而您不希望任何人从这个特定的签出中提交-那就会导致这种情况。

查看这两个提交是什么

。。它们不在遥控器中:

代码语言:javascript
运行
复制
git log origin/master..HEAD # just the commit messages
git diff origin/master..HEAD # the diff

要删除这两个提交

如果存在两个您不想保留的提交;要更改您的主分支以与远程的主分支完全匹配:

代码语言:javascript
运行
复制
git checkout master # make sure you are on your master branch
git reset origin/master --hard # force local history to exactly match the remote.

为了保持这两个提交

如果您确实想保持提交-只需将它们推送到远程,然后您的主分支将同步:

代码语言:javascript
运行
复制
git push origin master
票数 1
EN

Stack Overflow用户

发布于 2013-04-01 22:42:10

AD7Six的回答将丢弃您的本地更改。您还应该能够简单地将本地拥有的内容发送到服务器:

代码语言:javascript
运行
复制
git checkout master # Get back on a real branch from the detached HEAD
git push origin master

此外,gitk --all对于理解您拥有的存储库状态以及您的本地存储库如何认为它与其远程相关非常有用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15745340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档