我正在尝试在脱机的Windows笔记本电脑上准备Git演示。 使用Git Bash,我在/ c / demo / git-demo /中创建了一个小项目,并进行了git init,并添加了文件test.txt并提交了它。
然后在另一个外壳中,我做了
cd /c/demo
git clone /c/demo/git-demo git-demo-clone
cd git-demo-clone
ls -l
那很好,我看到了test.txt。
然后我从git-demo-clone修改文件并执行一次提交,再次工作正常。
但是,当我下次从git-demo-clone中执行git push时,却出现错误
remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: is denied, because it will make the index and work tree inconsistent
remote: with what you pushed, and will require 'git reset --hard' to match
remote: the work tree to HEAD
该怎么办?
答案 0 :(得分:2)
之所以发生这种情况,是因为在另一个存储库中,检出的分支是您要尝试推动的分支(通常不行,因为这就像在操作给定对象时将地毯从脚下移开科)。您可以通过4种方式避免这种情况:
git checkout --detach
)