3

我在本地使用 git。在一个目录中,我们称之为项目,我初始化了一个 git 存储库。当我创建/修改文件时,我使用了“git add file”和“git commit”。这些文件现在变成了两个看似独立的项目的混合体,因此我将 project1 文件放入名为 Project1 的子目录中,将 project2 文件放入名为 Project2 的子目录中。我将父目录名称从 Project 更改为 Project12。

完成所有这些之后,我意识到我忽略了考虑我的 git 存储库,所以我将所有文件移回 Project12 旁边的 Project1 和 Project2 目录中,并计划在将它们移回之前“git add --all”它们各自的子目录。

但是当我使用 'git add --all' 时,git 停止了。除了下一行的光标在不合时宜的时间内闪烁之外,什么也没有发生。'Git status' 有各种各样的删除和来自所有移动的新文件。我虽然会尝试清除暂存区域,然后添加/提交。根据我所做的研究,我尝试了“git reset”。这不仅没有解决 'git add --all' 之后的停顿问题,而且现在 git 在 'git status' 之后停顿,光标在下一行闪烁。

我不想'git reset --hard',因为有些文件我已经更改但没有提交,所以我不想丢失这些更改。我试过'git stash',但这也停止了。

我应该补充一点,我仍然可以'git add file',但是有很多文件,我最终想知道出了什么问题。

我对 git 有点陌生,所以如果有人可以解释他们认为这里发生了什么,我将不胜感激。我不确定此时要粘贴什么输出,因为我只是得到一个闪烁的光标。

目标是将文件放入各自的子目录并继续添加/提交到同一分支。

谢谢!

4

2 回答 2

2

有一个数据文件太大,导致 git 停滞不前。由于每次程序运行时都会创建数据文件,因此可以选择删除数据文件,从而解决了停顿问题。

于 2012-12-19T04:45:26.167 回答
1

摆脱这种混乱局面的一种方法是:

  • 在单独的仓库中本地克隆您的仓库
  • 检查该克隆是否确实是您在执行所有这些移动/添加/删除之前所拥有的...
    (如果不是,请检查或重置为正确的 SHA1 以获得重组之前的内容)
  • 在那个新的仓库中重现你需要的东西,然后在git add -A那里试试。

这个想法是不要在看起来有点不稳定的原始存储库中保留太多时间,并检查问题是否在新克隆的存储库中仍然存在。

于 2012-08-24T05:37:11.093 回答