我来自 SVN,我不明白整个 Git 是如何工作的。我已经创建了一个远程仓库,在我的本地机器上克隆了这个仓库——如果我对本地机器上的文件进行更改并尝试将这些文件推送到我克隆的确切远程仓库,我会收到这样的错误。
远程:错误:拒绝更新签出分支:refs/heads/master
我浏览了一些关于同一问题的 SO 问题,最流行的解决方案是创建一个裸存储库,然后提交给它。那么当我从那个新的 repo 克隆时会发生什么——这会再次发生吗?我应该继续为本地的每次提交创建新的裸仓库吗?我很困惑,如果有人能指出我正确的方向,那就太好了。我认为我这样做是完全错误的。
我正在遵循的确切步骤:1)在远程服务器中创建一个目录-init as git repo 2)将我需要的所有内容复制到服务器中 3)将内容添加到 git 并在那里提交 4)将 git repo 从远程克隆到我的本地机器 5) 对我本地的文件进行了更改,将更改添加到我的本地并提交。6)当我尝试将本地所做的更改推送到远程使用时: git push origin 我收到错误消息。我在下面提供了整个错误消息。
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: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require 'git reset --hard' to match
remote: error: the work tree to HEAD.
remote: error: Auto packing the repository for optimum performance.
remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into
remote: error: its current branch; however, this is not recommended unless you
remote: error: arranged to update its work tree to match what you pushed in some
remote: error: other way.
remote: error:
remote: error: To squelch this message and still keep the default behaviour, set
remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
! [remote rejected] master -> master (branch is currently checked out)