1

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

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

然后我在我的本地服务器上创建了一个 git clone(带有 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:...'

有人有想法吗?

最好的,纽本

4

2 回答 2

1

我通常会做以下事情:

在服务器上,在 webapp 目录内

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

至少有一个 Initial Commit

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

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

在 dev 上编辑文件

$ git push

希望这可以帮助!

于 2012-10-20T23:41:49.007 回答
1

如果您打算在远程服务器上创建中央存储库,您应该创建存储库:

git init --bare

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

这是一个链接,详细解释了裸仓库和非裸仓库之间的区别。

于 2012-05-16T11:07:22.663 回答