我正在尝试创建一个跟踪远程分支的本地分支。这是我得到的:
> git checkout master
> git push origin origin:refs/heads/myBranch
Total 0 (delta 0), reused 0 (delta 0)
To git@github.com:myrepo/myproject.git
* [new branch] origin/HEAD -> myBranch
> git fetch origin
> git checkout --track -b myBranch origin/myBranch
warning: unable to unlink website: Operation not permitted
Branch myBranch set up to track remote branch myBranch from origin.
Switched to a new branch 'myBranch'
“警告:无法取消链接网站:操作不允许”是什么意思?一切正常吗?
后来:
是一个名为“website”的文件夹,但它没有内容。 git submodule init
和git submodule update
都不执行任何操作,git submodule init website
和git submodule update website
都会产生
error: pathspec 'website' did not match any file(s) known to git.
Did you forget to 'git add'?
答案 0 :(得分:3)
当切换分支时,git想要从不属于的所有内容中清除你的工作副本,但它不能删除其中包含子模块的目录,因为它们被设计为完全手动 - git从不隐式接触状态您的子模块。
答案 1 :(得分:0)
这应该意味着你:
在Cygwin会话中使用它(在这种情况下,您可以尝试as in this thread,a:
strace -o /c/temp/cygwin17.bug --mask = all git checkout --track -b myBranch origin / myBranch
查看错误日志是否可以告诉您更多信息。
(见this thread)
我注意到Cygwin-1.7中的git-1.6.4.2表现出一些不寻常的行为,虽然我不知道它是否是一个Cygwin问题。
我真的没有办法检查,所以我只是在这里报告。我已经将此行为与Cygwin-1.5中的git-1.6.1.2进行了比较,并且没有发生,因此它是git-1.6.4.2中的新行为。
问题涉及子模块 使用git-1.6.1.2,当使用“
git checkout
”从具有子模块(“build
”)的分支移动到与没有关联子模块的分支相关时,我得到了以下警告信息:
$ git checkout -f master
warning: unable to unlink build: Operati
不允许
相关目录仍未删除。我注意到旧的git它也没有删除目录,但是没有显示警告。
但令人担忧的是后续的'
git clean -fdx
'也不会删除子模块目录。使用git-1.6.1.2,目录将被删除:
$ git clean -fdx
但是用1.6.4.2反而说:
$ git clean -fdx
Removing build
$ ls -l
...
drwxr-x---+ 1 dantliff Domain Users 0 2009-11-23 17:01 build
“
build
”目录未跟踪,因此“git clean -d
”应将其删除,但事实并非如此。
(此时,如果您在git reset --hard myBranch
分支上,可以尝试“myBranch
”,尝试查看是否删除了任何额外目录,如this thread中所述