[英]How do I pull from another computer's repository in Git?
例如,我已經在兩台計算機上克隆了原始存儲庫。 然后,我繼續進行一些更改並提交到計算機A的本地存儲庫。我現在如何將這些更改提取到計算機B? 計算機A和B都連接到網絡。
我正在尋找的將是相當於手動創建補丁並將其發送給我的人,我可以將其應用於我的工作副本/本地回購。
如果你想要拉出的機器可以通過ssh
訪問,你可以通過ssh
將其作為遠程存儲器添加,然后像任何遠程一樣從中拉出:
$ git remote add repo_b username@host:path/to/repository.git
$ git pull repo_b master
(您可以跳過添加遠程的步驟,只需在git pull
命令中指定完整的URL而不是遠程名稱,但是如果您要定期從存儲庫中提取,則將其添加為遠程名稱為您節省大量的打字。)
看看git pull --help
這會產生類似git pull /my/other/repository
您可以使用git守護程序設置實際服務器。 否則,您可以使用git bundle ,它將git的內部表示捆綁到一個文件中,該文件可以在另一端使用git pull
進行非捆綁。
例如,從git docs,捆綁所有東西:
git bundle create file.bundle master
然后,在另一端,您可以執行以下操作:
git pull file.bundle HEAD
如果您可以通過ssh連接到計算機B,則可以使用:
git clone user@host:/path/to/repo
它將通過此ssh連接啟用遠程跟蹤,並允許您使用git pull / push。
它適用於我與另一台計算機的本地存儲庫:
git remote add origin_username username@10.0.0.2:/home/username/dev/project/main/.git/
git pull origin_username master
要么
git pull origin_username some_branch
我想出來了
git clone /path/to/local/repository
有點太晚了,但是為了所有它的價值和擴展Antoine Pelisse的答案,你也可以從具有相同repo的ssh主機中提取幾個提交,而無需在配置中添加一個遙控器 :
git pull user@host:/path/to/repo # while in the local repo folder
需要明確的一點 - 可能的用途之一就是當你有兩個主機(A和B)從遠程克隆同一個repo時,你已經在主機A上做了一些更改,並且不希望將它們推送到遠程 (還),但是想要從主機B中提取這些提交。上面的命令同步你的repos而不推送到遠程 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.