我在localhost上安装了git以及具有相同项目文件夹的远程主机。
因此在localhost上有1个repo,在远程主机上有1个包含相同文件的repo。我想要做的是使用localhost文件进行开发,然后将它们推送到远程进行更新。
如何去做?
答案 0 :(得分:4)
只需将遥控器添加到本地存储库,然后推送到远程主机即可。
git remote add origin /url/remotehost/bare_repo
git push --all
为此,您的远程主机必须有一种方法可由本地主机通过 supported protocols 之一访问:
您的远程主机必须有 bare repo ,才能推送到它。
在那个裸仓库上,您可以声明post-receive hook which will checkout the received content in your remote host project folder。
OP选择了ssh(ssh://202.XXX.xx.xx:/path/to/repo.git
),但是有抓取/推送问题。
克隆远程仓库也无法正常运行它给我的错误
Bad port '' fatal: Could not read from remote repository.
我建议在远程服务器上指定拥有repo的用户
例如' git
':git@202.XXX.xx.xx
然后尝试使用' :
':
git@202.XXX.xx.xx:/path/to/repo.git
# or
git@202.XXX.xx.xx/path/to/repo.git
sshd必须正在运行。端口应该是默认端口(22)
可以查看sshd logs on the server side (/var/auth/log
)。
毕竟,Op报告设置正在运行。
必须将post-receive
挂钩放在服务器上的裸存储库中,并使其成为可执行文件:
cat > /path/to/bare/repo.git/hooks/post-receive
#!/bin/sh
GIT_WORK_TREE=/path/to/live/folder GIT_DIR=/path/to/bare/repo.git git checkout -f
chmod +x /path/to/bare/repo.git/hooks/post-receive