1

我在git checkout origin/master命令行输入,首先给出以下提示:

Deletion of directory 'dirname1/dirname2' failed. Should I try again? (y/n)

每次我尝试时它几乎都会失败,所以我最终击中了 n。然后我得到这个:

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at c2850cd... - change description

之后我会这样做git branch,这就是我所看到的:

* (no branch)
  remote/branchname
  master

为什么这样做?鉴于此,我如何对 origin/master 做出承诺?

4

3 回答 3

2

我在猜测 - 看起来您的工作副本中有一个目录在 origin/master 中不存在。通常,当您更改分支时,git 只会删除该目录。但在这种情况下,由于某种原因它不能。可能存在权限问题:该目录可能由不同的用户拥有,或者可能是只读的。

尝试删除 git 抱怨的目录。您可能需要更改其权限或使用sudo. 然后你可以使用命令git checkout .把它放回去——希望这次有正确的权限。如果我是对的,那么切换分支应该在那之后工作。

于 2012-08-20T20:40:39.383 回答
0

只是master没有前缀的:

git checkout master
于 2018-01-03T01:52:57.233 回答
-1

GitHub用main替​​换master,所以你必须这样做

git checkout main
于 2021-08-18T15:07:25.450 回答