2017-01-18 50 views
0

当使用github上,这是我平时做:github上 - 承诺不会发现

  • git pull,以确保如果一切了最新
  • git add .加我的所有变化
  • git commit -m "some message"提交我的变化
  • git push推我的变化

前前后后呃我的本地文件的每一个变化,我做同样的上述操作,并去检查网站。变化在那里,每个人都可以看到它们。它们存在于本地和远程回购站点上。但有一段时间,我所有的承诺都消失了,他们不知何故被抛弃了。我注意到这种情况发生在一个同事进行相同回购的同事进行更改时。

如果这有助于:

  • git log显示我的提交记录

  • git checkout master说,我已经在高手。

  • 我Github上的个人资料说,我犯了提交的X号到库,但是当我点击他们,它说:“承诺不会发现。”

当在主分支

,是git pushgit push origin master不同?

我想知道如果我错在这里做的事情,所以我能避免这样做在以后的承诺。

+0

当您使用'git log'检查时,它们是否出现? – Syden

+0

@Syden是的,他们出现 – Omar

+0

你推到你自己的分支或“主人”? (或者你还没有推送)更多信息将有所帮助。 – Syden

回答

1

问题是,当他做一个承诺,我所有的变化都没有了。他们甚至不在历史中。这就像他每次做出改变都会创建一个全新的存储库。

,如果他被迫推

git push --force 

在GitHub上,你至少可以protect your master branch这只会发生。

当在master分支,是git pushgit push origin master有什么不同?

可以检查output of git branch -avv:它应该显示主具有上游(远程跟踪)分支origin/master。在这种情况下,git push就足够了。
请参阅“Why do I need to explicitly push a new branch?

+0

谢谢,并感谢大家的意见。这个线程真的很有帮助和充满信息。的确,我只是问了我的同事,他承认使用'git push --force'。显然他自己也有一些问题,他使用'git push --force'而不考虑后果:(所以,最后我做的是正确的,因为我使用'git pull'和'git push'我的本地HEAD分支跟踪'origin/master'。谢谢! – Omar

+0

很棒的VonC! – Syden