切换分支时出人意料

时间:2012-03-30 17:31:35

标签: git branch

当我准备使用git时,我是新手,但我希望我没有放松太多的工作。我已经尝试切换到主分支,但你可以看到没有成功。

Alx@I5-PC /d/workspace/android/tutorialA2 (about_screen)
$ git st
# On branch about_screen
nothing to commit (working directory clean)

Alx@I5-PC /d/workspace/android/tutorialA2 (about_screen)
$ git br
master
* about_screen

Alx@I5-PC /d/workspace/android/tutorialA2 (about_screen)
$ git co master
Unlink of file 'res/layout/view_about.xml' failed. Should I try again? (y/n) y
Unlink of file 'res/layout/view_about.xml' failed. Should I try again? (y/n) err
or: unable to unlink old 'res/layout/view_about.xml' (Permission denied)

现在,当我希望结帐到最后一次稳定提交时,我收到此消息:

 $ git co 8759ba
 fatal: Unable to create 'd:/workspace/android/tutorialA2/.git/index.lock': File exists.

 If no other git process is currently running, this probably means a
 git process crashed in this repository earlier. Make sure no other git
 process is running and remove the file manually to continue.

1 个答案:

答案 0 :(得分:0)

您似乎有两个问题。

  1. 您对res / layout / view_about.xml存在权限问题。您应该检查并更正该文件的权限。

  2. Git有一个锁文件。如果没有其他git进程正在运行,请按照错误消息中的说明删除锁定文件。

  3. 一旦你做了这两件事,你就应该回到可以自由切换分支的状态。

    一旦你能做到这一点,你可以使用“git reset --hard< sha1>”将分支重置为先前的提交。其中< sha1>是要返回的提交的ID。请注意,此命令具有破坏性 - 它将执行您所说的操作,并使您的工作目录看起来像提交时的状态。在你这样做之前,确保它是你想要的那个。如果你弄错了,有办法恢复,但最好不要弄错。