【问题标题】:github - commits not foundgithub - 未找到提交
【发布时间】:2017-01-18 15:21:36
【问题描述】:

在使用github的时候,我通常是这样做的:

  • git pull 确保一切都是最新的
  • git add . 添加我的所有更改
  • git commit -m "some message" 提交我的更改
  • git push 推送我的更改

每次更改本地文件后,我都会执行上述操作并在网站上查看。变化就在那里,每个人都可以看到它们。它们存在于本地和远程存储库中。但是偶尔,我所有的提交都消失了,并且不知何故被丢弃了。我注意到,每当从事同一个 repo 的同事进行更改时,就会发生这种情况。

如果这有帮助:

  • git log 显示我的提交已记录

  • git checkout master 说我已经在 master 上了。

  • 我的 Github 个人资料显示我向存储库提交了 X 次提交,但是当我单击它们时,它显示“未找到提交”。

在 master 分支上,git pushgit push origin master 不同吗?

我想知道我是否在这里做错了什么,所以我可以避免在以后的提交中这样做。

【问题讨论】:

  • 当您与git log 核对时,它们会出现吗?
  • @Syden 是的,他们出现了
  • 你推送到你自己的分支还是master? (或者你还没有推送)更多信息会有所帮助。
  • 所以确实记录了提交,你看不到的是你在远程 repo 文件中所做的更改?
  • @Syden 谜团已解开:我的同事使用 git push --force,怀疑是 @VonC。

标签: git github git-commit


【解决方案1】:

问题是当他提交时,我所有的更改都消失了。他们甚至不在历史上。就像他每次进行更改时都在创建一个全新的存储库。

只有在他强行推动时才会发生这种情况

git push --force

在 GitHub 上,您至少可以protect your master branch

master 分支上,git pushgit push origin master 是否不同?

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

【讨论】:

  • 谢谢,也谢谢大家的意见。这个帖子真的很有帮助,而且信息量很大。事实上,我刚刚问过我的同事,他承认使用了git push --force。显然他自己有一些问题,他使用git push --force 没有考虑后果:( 所以,最后我所做的是正确的,因为我在我的本地 HEAD 分支上使用git pullgit push 正在跟踪origin/master。谢谢!
  • VonC 大获成功!
猜你喜欢
  • 2018-08-23
  • 2023-03-04
  • 1970-01-01
  • 2014-12-24
  • 2012-08-26
  • 2012-06-25
  • 1970-01-01
  • 2021-04-15
  • 1970-01-01
相关资源
最近更新 更多