我有一个远程git
存储库,我将其克隆到我的本地存储库,进行了本地更改,当我推送时,我收到了无法推送到主分支的消息:
[远程拒绝]主人 - > master(分支目前已签出)
我读到,如果我更改它的分支,我会这样做并且有效,但我不能那样工作;我需要当我将更改从本地存储库迁移到远程存储库时,更改同时适用于远程存储库上的文件,我不想返回主分支或合并分支。
我也读到我可以使用裸存储库,它对我不起作用。
我看到一些视频,其中的人直接推送到远程存储库,只需输入密码,但我不知道如何做到这一切。
答案 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密钥相关。