Git/gitk显示文件夹的未知/无效sha1 id,但不是来自其父文件夹。
我有以下文件夹Git/gitk显示文件夹的未知/无效sha1 id,但不是来自其父文件夹。,git,Git,我有以下文件夹 Views/Shared/Base/ 我一直在开发布局的一部分 header.cshtml footer.cshtml mainNav.cshtml 因此,在某个时刻,我开始创建带有这些文件初始提交的“基本”文件夹(在与主文件不同的分支中)。最初的承诺交给了我们的主人,因为我们处于早期阶段,所以根本没有问题。让我们称之为提交,提交A 然后,我继续开发这些文件,为它们创建更多、更多的提交,并将它们提交给我们的主管,以便团队的其他成员能够从这些更改中受益。至少这是个主意。假设我创
Views/Shared/Base/
我一直在开发布局的一部分
header.cshtml
footer.cshtml
mainNav.cshtml
因此,在某个时刻,我开始创建带有这些文件初始提交的“基本”文件夹(在与主文件不同的分支中)。最初的承诺交给了我们的主人,因为我们处于早期阶段,所以根本没有问题。让我们称之为提交,提交A
然后,我继续开发这些文件,为它们创建更多、更多的提交,并将它们提交给我们的主管,以便团队的其他成员能够从这些更改中受益。至少这是个主意。假设我创建了提交B,C,D
但上周,我们所有的团队都必须和我们的主人同步,这是强制性的。我继续开发,并创建提交E。但是我还没有把E带到master,今天我将我的分支(我是唯一一个使用该分支开发“基础”的人)与master同步,这样我就可以了解团队的所有更改,看看是否一切正常
尽管合并进展很快,但我惊讶地看到文件夹“Base”似乎是停留在提交A,而不是E,这是我最近的提交
起初,我认为团队中的某个人进行了一次非常非常糟糕的合并。但我没有找到这样的东西。评论和树(我通过gitk检查)没有显示这样的内容
最奇怪的是:
git的一个强大功能是,您可以检查文件夹或单个文件的历史记录,对吗
嗯,看看这个。使用gitk我检查了“视图”,并查找提交D和E。当然,gitk找到了它们,并在“Views/Shared/Base”中显示了header.html、footer.html的提交
很酷,但这发生在我为基地做同样的事情时。。一旦我为“Views/Shared/Base”做了gitk,并查找提交D&E,gitk就向我显示了一个错误:“La id SHA1D/Ees desconocida”,我相信这个错误在英语中被翻译成“id SHA1D/E未知”或类似的东西
所以我不明白为什么我可以在父文件夹中找到提交,但不能在内部文件夹中找到提交
我不知道发生了什么,也不知道如何解决。我们的回购协议被破坏了吗
我们的回购协议被破坏了吗
首先,只需再次克隆该repo并查看master
(和Base/
内容)是否正常
今天我同步了我的分支(我是唯一一个使用此分支开发“基础”的人)
如果您是唯一一个在分支上工作的人,您应该在master
上重新设置分支的基础,以便从最新的master
内容中获益
git checkout myBranch
git fetch
git rebase origin/master
这应该会显示
Base/
和您的最新内容。我在写这篇文章之前检查过(如果我没有提到的话,很抱歉),这是一个已经蔓延到所有领域的问题team@raulricardo21这不是问题:您仍然可以在新的本地回购上确保情况正确,然后在服务器上强制推送myBranch
,确保团队根据origin/myBranch
获取并重置他们的myBranch
。是的,我进去了,我要试试。但事实是,我已经选择了我丢失并重新写入回购协议的变更。但我要寻找的答案是发生了什么,所以也许我们确实做错了什么,我们需要避免这种情况再次发生。