版本控制- Git存储库损坏



我试图学习如何使用Git进行本地版本控制。我使用Xcode作为我的IDE。当我发现有3000个未分级更改时,我试图添加我的最新更改。我在不知情的情况下上演了它们。然后我去到我的项目根目录,在里面找到相同的目录,里面有相同的文件,等等。我删除了它,存储库进入了一个损坏的状态,因为分级文件丢失了。我到底应该怎么做,怎么会发生这样的事呢?

如果您删除了.git文件夹,那么您就删除了实际的本地存储库克隆。挽救你的源代码(希望你有一个好的版本),并从头开始创建一个新的存储库。


如果您想创建一个备份存储库,当您已经有一个备份存储库时,这可能是最简单的方法,在确保您没有想要保留的未提交的更改(bash命令,但即使您不使用bash,我相信您也能理解):

cd work/myproject
cd ../..
mkdir backup-upstream
cd backup-upstream
git clone --no-checkout ../work/myproject

那么你就再也不需要直接接触备份了。现在,您可以将当前的工作/项目设置为遵循该操作,但最简单且最不容易出错的方法是,从上面继续进行新的克隆:

cd ../work
mv myproject myproject-backup
git clone ../backup-upstream/myproject
cd myproject

现在检查一下这些文件的不同之处,看看到底发生了什么变化,这是很有启发的:

cat .git/config
cat ../myproject-backup/.git/config

然后你像往常一样在work/myproject下工作,当你想要创建备份时,只需要git push。backup-upstream下的克隆应该被认为是任何远程上游回购,例如来自github,它实际上是从本地文件系统访问的并不重要。注意,如果你创建了新的分支,你需要单独推送它们,参见:如何将本地Git分支复制到远程repo

最新更新