0

我有一个 git pull 被打断了,现在我不确定它是否弄乱了我的 .git 目录。我可以通过运行来保证我的 git repo 的完整性git fsck --full吗?是否有任何其他命令可以查看目录中是否添加了一半?

4

1 回答 1

0

将项目的物理副本(包括它的 .git 目录)复制到另一个地方,比如 ~/tmp 然后在那里运行 git pull 看看它告诉你什么。您只是在拉动,这是一个丢弃目录,因此您将无法更改任何内容(只要您在不确定的情况下不推动)。

所以,如果你的应用程序目录是:~/blogger

cd ~                 # "~" means your home directory
mkdir tmp            # Make a temporary directory.
cp -r blogger ~/tmp  # Copy the project there
cd /tmp/blogger      # Go there
git pull             # Try a pull to see what happens.

如果拉取工作正常,您将对您的实际目录内容充满信心(所以cd现在回到它)。如果拉取有问题,请保存您当前的项目代码并尝试重新拉取,看看是否可以。

例如

cd ~
mv blogger old_blogger
# Go to github and click on the copy icon.
git clone [paste - ctrl-v or shift-ctrl-v]
# Now use your old_blogger directory as a source 
# for any changes you want to (manually) copy the code from.

如果新的git pull有问题,请考虑转到您的项目目录并删除整个.git结构,然后git init创建一个新的 git 存储库,然后删除(或重命名为 old_blogger)现有的 github 存储库,然后重新创建它, git clone然后. 这显然是最极端的(“核”)选项。git add .git commitgit push

于 2012-08-26T14:40:01.103 回答