简介:我想在本地编辑文件,然后推送到Github和我的Web服务器.
我有两个遥控器设置没有问题,所以现在我有能力做到这一点; 但是,我必须在本地检出分支A,在服务器上检查分支B. 然后我必须SSH到服务器并检查分支A(我想要的那个).我甚至不想要或不需要第二个分支,但很多帖子表明你不能或不应该推送到非裸存储库.肯定有更好的办法.即使只使用rsync也会比这更容易(我做了一段时间).
奇怪的是,这绝不会发生在Github上.几乎所有我的回购只有一个分支,我从来没有得到这个警告.
警告消息说你可以设置receive.denyCurrentBranch为忽略,但我不知道它是多么安全/健全.我希望有人能理解我模糊的描述(这是由于我对git的了解有限)并且知道最佳解决方案.
在网络服务器上的裸存储库上设置接收后挂钩会更容易。
这样,这个钩子就可以:
请参阅“ Git Post-Receive Hook for Website Staging ”和“使用 Git 管理网站”中的工作:
$ 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
Run Code Online (Sandbox Code Playgroud)
(注意:有趣的是,您可以同时推送到两个不同的远程存储库)