1

我们一起使用 JIRA 和 Github。现在我们发现我们可以在 JIRA 票证中看到的一些代码之前已经推送到 Github,我们可以点击链接,它转到 Github,我们可以看到我们在那里所做的更改。但是所有代码都不在我们当前的分支中。甚至我去本地项目找文件,右键->显示日志(tortoiseGit),那个ticket和push记录不在日志中...我切换到所有分支尝试找到那个记录,但是我只是在任何地方都找不到。

我有提交哈希,我用那个哈希检查代码,我可以看到更改又回来了,但它不在我们当前的任何分支中。我不知道发生了什么,以前有没有人遇到过这个问题,我怎样才能让所有这些代码回到当前的分支......

4

2 回答 2

3

您可以简化搜索:

git branch --remote --contains <commit-id>

(请参阅如何列出包含给定提交的分支?

要获得这些更改,您可以将该提交合并到一个工作分支 ( git merge <commit-id>)。

正如 VonC 所暗示的,变基或强制删除是最可能的原因。

于 2013-10-06T08:18:19.560 回答
0

它可能在以下情况下发生:

  • 你 rebase 一个分支,它重写了所有的 sha1(你把旧的 sha1 保留在你的 reflogs 中)
  • 您删除一个分支(并推送该分支的删除)
  • 你(例如)中merge --squash的一个分支master,然后在本地删除该分支

如果您可以使用该 SHA1 在本地结帐,则至少您可以从该 SHA1 开始创建一个本地分支,然后将其推回。

于 2013-10-06T08:11:38.373 回答