2013-10-05 210 views
1

我们一起使用JIRA和Github。现在我们发现我们可以在JIRA门票中看到的一些代码已经在之前的某个时间推送到Github,我们可以点击链接,它会转到Github,我们可以看到我们在那里做出的更改。但是所有的代码都不在我们当前的分支中。即使我去当地的项目找到文件,右键单击 - >显示日志(tortoiseGit),票和推记录不在日志中...我切换到所有分支试图找到该记录,但我只是无法在任何地方找到它。Github上缺少代码

我有提交哈希,我检查与该哈希代码,我可以看到更改回来,但它只是不在我们当前的任何分支。我不知道发生了什么,没有人有这个问题之前,我怎样才能得到这些代码回到当前分支...

回答

3

您可以简化您的搜索:

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

(见How to list branches that contain a given commit?

要获得这些更改,您可以合并犯下至正常工作的分支(git merge <commit-id>)。

正如VonC所建议的,rebase或强制删除是最可能的原因。

+0

我认为我必须以任何方式合并它们...谢谢。 –

+1

指向我的旧回答之一的链接;)+1 – VonC

0

时,它可以发生:

  • 衍合的一个分支,其重写所有的SHA1(你保留旧SHA1在reflogs)
  • 你删除一个分支(并推动该分支的删除)
  • merge --squash a branch在(例如)master,然后删除分支机构本地

如果您可以使用该SHA1进行本地签出,则至少可以从所述SHA1开始创建本地分支,然后将其推回。

+0

不仅我可以在本地签出,但其他人也可以看到,在github上,他们也可以签出代码。 –