如何使用push直接推送到远程服务器?

时间:2012-06-05 22:13:37

标签: git branch push

我有一个远程git存储库,我将其克隆到我的本地存储库,进行了本地更改,当我推送时,我收到了无法推送到主分支的消息:

  

[远程拒绝]主人 - > master(分支目前已签出)

我读到,如果我更改它的分支,我会这样做并且有效,但我不能那样工作;我需要当我将更改从本地存储库迁移到远程存储库时,更改同时适用于远程存储库上的文件,我不想返回主分支或合并分支。

我也读到我可以使用裸存储库,它对我不起作用。

我看到一些视频,其中的人直接推送到远程存储库,只需输入密码,但我不知道如何做到这一切。

1 个答案:

答案 0 :(得分:1)

  

我也读到我可以使用裸存储库,它对我不起作用。

它应该对你有用,如果你得到Using Git to manage a web site中描述的过程使用 repo(你要推送到的),并使用post-receive钩子:

$ mkdir /var/www/www.example.org
$ cat > hooks/post-receive
#!/bin/sh
GIT_WORK_TREE=/var/www/www.example.org git checkout -f
$ chmod +x hooks/post-receive

在您的情况下,优点是钩子可以检出您需要的任何分支。

注意:密码短语可能与使用推送地址和ssh版本以及使用受密码保护的私有ssh密钥相关。