我来自SVN,不太理解Git的工作原理。我已经创建了一个远程仓库,在本地机器上克隆了该仓库 - 如果我在本地机器上更改文件并尝试将这些文件推送到我从中克隆的确切远程仓库,我会收到如下错误信息。
remote: error: refusing to update checked out branch: refs/heads/master 我查看了一些关于同样问题的SO问题,最受欢迎的解决方案是创建一个裸仓库,然后提交到它。那么当我从那个新仓库克隆时会发生什么 - 这会再次发生吗?我应该为每个本地提交创建新的裸仓库吗?我很困惑,如果有人能指点我正确的方向就太好了。 我认为我做错了。
我正在遵循的确切步骤: 1)在远程服务器上创建一个目录 - 初始化为git repo 2)将我需要的所有内容复制到服务器上 3)将内容添加到git中并在其中提交 4)从远程克隆git repo到我的本地机器上 5)在本地更改文件,将更改添加到本地并进行提交。 6)当我尝试使用以下命令将本地所做的更改推送到远程:git push origin 我会收到错误消息。我会提供整个错误消息。
remote: error: refusing to update checked out branch: refs/heads/master 我查看了一些关于同样问题的SO问题,最受欢迎的解决方案是创建一个裸仓库,然后提交到它。那么当我从那个新仓库克隆时会发生什么 - 这会再次发生吗?我应该为每个本地提交创建新的裸仓库吗?我很困惑,如果有人能指点我正确的方向就太好了。 我认为我做错了。
我正在遵循的确切步骤: 1)在远程服务器上创建一个目录 - 初始化为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)