我有以下文件夹
Views/Shared/Base/
Run Code Online (Sandbox Code Playgroud)
我一直在开发布局的一部分
header.cshtml
footer.cshtml
mainNav.cshtml
Run Code Online (Sandbox Code Playgroud)
所以在某些时候我开始创建'Base'文件夹,其中包含对这些文件的初始提交(在与master不同的分支中).最初的提交归我们的主人所有,因为我们处于早期阶段,所以完全没问题.让我们称之为提交,提交一个.
然后,我继续开发这些文件并为它们创建更多,更多的提交并将它们带到我们的主人,以便团队的其他成员可以从这些更改中受益.至少这是个主意.假设我创建了提交B,C,D.
但是上周,我们所有的团队都应该与我们的主人同步,这是强制性的.我继续发展,并创建一个提交ê.但是我还没有让E掌握,今天我与主人同步我的分支(我是唯一使用这个分支开发'Base'的人)所以我可以从团队中获得所有的变化,看看一切是否还可以.
但是尽管合并很快,我惊讶地发现文件夹'Base'似乎停留在提交A,而不是E,这是我最近的提交.
起初我认为团队中的某人真的非常糟糕.但我没有发现这样的事情.评论和树(我通过gitk检查)没有显示那样的东西.
最奇怪的是以下内容:
git的一个强大功能是,您可以检查文件夹或单个文件的历史记录,对吗?
好吧,看看这个.使用gitk我检查"视图",查找提交d和ē.当然,gitk找到了它们并在"Views/Shared/Base"中向我展示了header.html,footer.html的提交.
很酷,但是当我为基地做同样的事情时发生了这种情况..一旦我为'Views/Shared/Base'做了gitk,并且寻找提交D&E,gitk给我一个错误:"La id SHA1 D/E es desconocida "在英语中,我认为错误被翻译为"id SHA1 D/E未知"或类似的东西.
所以我不知道为什么我可以在父文件夹中找到提交但不在内部文件夹中找到提交.
我不知道发生了什么,或者如何解决它.我们的回购是否已损坏?
我们的存储库已损坏吗?
首先,只需再次克隆该存储库并查看master(和Base/内容)是否正常。
今天我同步我的分支(我是唯一使用这个分支开发“Base”的人)
如果您是唯一在分支上工作的人,您应该在其基础上重新建立分支,master以便从最新master内容中受益。
git checkout myBranch
git fetch
git rebase origin/master
Run Code Online (Sandbox Code Playgroud)
这应该Base/与您的最新内容一起显示。