我在远程服务器上有一个文件夹,我们已添加到git。
git init
git add .
git commit -m "Initial commit"
然后我们将存储库拉到我当地的MacBook。然后我添加一个文件index.js,添加到git,并提交。当我尝试将修改后的repo推回服务器时,问题就来了。我收到一个疯狂的错误:
拒绝更新签出的分支:refs / heads / master 默认情况下,拒绝更新非裸存储库中的当前分支,因为它会使索引和工作树与您推送的内容不一致,并且需要'git reset --hard'才能将工作树与HEAD匹配。
有什么想法吗?
答案 0 :(得分:0)
应该使用--bare
选项初始化您计划推送到的远程存储库,以防止Git创建工作目录。最简单的方法是初始化一个新的裸仓库,更新MacBook的遥控器以指向新位置(应该是以.git结尾的文件夹)并推送。
答案 1 :(得分:0)
这是因为您正在尝试推送到非裸仓库(具有工作目录的仓库)。工作目录本质上是您“结帐”和实时编辑的文件的位置。当您推送到非裸仓库时,会出现错误消息中描述的情况。
如果您仍想编辑macbook和远程服务器中的文件,一个简单的解决方案是使用git init --bare
创建第三个回购。你可以从另外两个回购中推送到这个回购。