Git 回到「;“初始提交”;产生不完整的文件

Git 回到「;“初始提交”;产生不完整的文件,git,Git,我试图合并2个项目。老项目和新项目。领先一年的人变成落后的人。我将项目放在单独的文件夹中,并在这两个文件夹中执行此操作: git init git add . git commit -m "Initial commit" 我没有对project_old进行任何备份,因为我希望git在其旧状态下的回购协议中包含所有内容 然后,我向project_old添加了一个远程分支: git remote add project_newer /path/to/project_new git fetch pr

我试图合并2个项目。老项目和新项目。领先一年的人变成落后的人。我将项目放在单独的文件夹中,并在这两个文件夹中执行此操作:

git init
git add .
git commit -m "Initial commit"
我没有对project_old进行任何备份,因为我希望git在其旧状态下的回购协议中包含所有内容

然后,我向project_old添加了一个远程分支:

git remote add project_newer /path/to/project_new
git fetch project_newer
然后我开始把它们合并在一起

git merge project_newer/master --allow-unrelated-histories
它产生了一些合并冲突,所以我用mergetool修复了它们

然而,合并出现了一些问题,我最终用project_new覆盖了project_old中的一些重要文件,或者看起来是这样

所以我想我会在失败的合并状态下复制project_old,并签出初始提交的哈希,然后再次进行合并:

git checkout XXXXXX
但是,出于某种原因,这项承诺只包括10%的老项目,这毫无意义。我用git log--stat检查日志,我可以看到只有这10%包含在第一次提交中。列表中的下一个提交是project_new回购的“初始提交”,第三个提交是合并的最终提交(当前主提交)

  • 有没有办法让project_old恢复到它第一次提交时的完整状态
  • 什么地方出了问题,我可以学会以后不要这样做
  • 检查或:它应该具有合并之前的提交

    尝试并签出该提交,而不是初始提交。

    检查或:它应该具有合并之前的提交


    尝试并签出该提交,而不是初始提交。

    我通过
    git reflog
    获得以下信息:
    4717fec(HEAD->master)HEAD@{0}:签出:从master移动到master 4717fec(HEAD->master)HEAD@{1}:提交(merge):合并18ccdef9 HEAD@{2}:提交(initial):Initial commit
    I使用
    git checkout 8ccdef9
    签出8ccdef9,我所拥有的只是项目的10%,甚至缺少了一半的文件夹结构。@Kris和4717fec中的内容是什么?这是:Merge:8ccdef9 11b1321,当前主机。那么您是否只看到三个提交(使用
    git log--decoration--oneline--graph--all--branchs
    )@Kris如果签出/还原11b1321会怎么样?我使用
    git reflog
    :4717fec(HEAD->master)HEAD@{0}:签出:从主机移动到主机4717fec(HEAD->master HEAD)HEAD@{1}:提交(合并):合并18CCDEF9头@{2}:提交(初始):Initial commitI使用
    git checkout 8ccdef9
    签出8ccdef9,我所拥有的只是项目的10%,甚至缺少了一半的文件夹结构。@Kris和4717fec中的内容是什么?它是这样的:Merge:8ccdef9 11b1321,当前的主控。那么您是否只看到使用
    git log--decoration--oneline--graph--all--branchs的三次提交de>?@Kris如果您签出/恢复11b1321怎么办?