我有git安裝在localhost以及具有相同項目文件夾的遠程主機。
因此,1個回購本地主機和1個遠程主機都包含相同的文件。我想要做的是使用本地主機文件進行開發,然後將它們推送到遠程進行更新。使用git同步本地和其他遠程主機(不github)上的兩個相同的回購一
如何去呢?
我有git安裝在localhost以及具有相同項目文件夾的遠程主機。
因此,1個回購本地主機和1個遠程主機都包含相同的文件。我想要做的是使用本地主機文件進行開發,然後將它們推送到遠程進行更新。使用git同步本地和其他遠程主機(不github)上的兩個相同的回購一
如何去呢?
只需將遠程設備添加到本地回購站,然後推送到遠程主機。
git remote add origin /url/remotehost/bare_repo
git push --all
對於這一點,你的遠程主機必須有一個辦法可以由本地主機通過的supported protocols一個訪問s)
而您的遠程主機必須有一個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.
我勸指定該公司擁有的遠程服務器上的回購協議的用戶。例如'git
':[email protected]
。
然後嘗試使用和不使用 ':
':
[email protected]:/path/to/repo.git
# or
[email protected]/path/to/repo.git
的sshd的必須運行。該端口應該是默認的端口(22)。
可以檢查sshd logs on the server side (/var/auth/log
)。
畢竟,操作報告設置正在工作。
的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