在一个 git 分支上推送文件



我在服务器上有一个网站,我想开始分享我的作品,所以我正在使用 git。我对它很陌生。

所以在远程服务器上,我做了一个"git init"和一个 git 提交来移动 .git 目录(总是在远程服务器上(上的所有工作。

然后我在本地服务器上制作了一个 git 克隆(带有 ssh 连接(。然后我更改了一些文件并提交它(工作正常(,然后推送它,但这是错误消息:

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: 
remote: error: You can set 'receive.denyCurrentBranch' configuration variable to
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'.
To ssh://sameditr@ftp.sameditresfroid.fr/homez.501/sameditr/www/.git
 ! [remote rejected] master -> master (branch is currently checked out)
error: failed to push some refs to 'ssh:...'

有人有想法吗?

最好纽本

如果要在远程服务器上创建中央存储库,则应创建存储库:

git init --bare

您可以将当前的非裸存储库配置为接受更新(错误消息甚至告诉您如何接受更新(,但更简单的方法是删除远程服务器上的当前存储库并创建新的裸存储库。

下面是裸存储库

和非裸存储库之间区别的详细说明的链接。

我通常执行以下操作:

在服务器上,在 Web 应用目录内

$ git init
$ git add *
$ git commit -a

至少进行初始提交

在开发计算机上,您可以执行以下操作:

$ git init
$ git remote add origin git+ssh://server/var/www/.git/
$ git branch --set-upstream master origin/master
$ git pull

在开发中编辑文件

$ git push

希望这有帮助!

最新更新