SVN 使用單個集中倉庫作為開發人員的通訊樞紐,通過在開發人員的工作副本和中央倉庫之間傳遞變更集來進行協作。 這與 Git 的分散式協作模型不同,後者為每個開發人員提供了自己的倉庫副本,並具有自己的本地歷史記錄和分支結構。 使用者通常需要共享一系列提交而不是單個變更集。 Git 允許我們在倉庫之間共享整個分支,而不是將變更集從工作副本提交到中央倉庫。
git remote 命令是負責同步更改的更廣泛系統的一部分。 通過 git remote 命令註冊的記錄與 git fetch、git push 和 git pull 命令結合使用。 這些命令都有自己的同步職責,可以在相應的連結上進行探索。
git remote 命令
git remote命令允許您建立、檢視和刪除到其他倉庫的連線。遠端連線更像書籤,而不是直接連結到其他倉庫。它們不是提供對另一個倉庫的實時訪問,而是作為一個簡寫的名稱,可用於引用寫起來比較繁瑣的URL。
例如,下圖顯示了從本地的倉庫到中央倉庫和另一個開發人員的倉庫的兩個遠端連線。我們可以將origin和john名稱傳遞給其他Git命令,而不是傳遞它們的完整url來引用它們。
git remote 使用概述
git remote 命令本質上是一個介面,用於管理儲存在倉庫的 ./.git/config
檔案中的遠端條目列表。 以下命令用於檢視遠端列表的當前狀態。
檢視 git remote 配置
$ git remote
列出與其他倉庫的遠端連線。
$ git remote -v
與上述命令相同,但包括每個連線的 URL。
建立和修改 git 遠端配置
git remote 命令也是一種方便用於修改倉庫的 ./.git/config
檔案的方法。 下面顯示的命令可讓管理與其他倉庫的連線。 以下命令將修改倉庫的 .git/config 檔案。 以下命令的結果也可以通過文字編輯器直接編輯 .git/config 檔案來實現。
$ git remote add <name> <url>
建立到遠端儲存庫的新連線。新增遠端連結後,就可以使用<name>作為其他Git命令中<url>的替代方式。
下面的命令是用來移除名為<name>的遠端倉庫的連結
$ git remote rm <name>
除此之外,還可以將遠端倉庫的連結名稱從<old-name>重新命名為<new-name>。
git remote rename <old-name> <new-name>
git remote 命令討論
Git旨在為每個開發人員提供一個完全隔離的開發環境。這意味著資訊不會在儲存庫之間自動來回傳遞。相反,開發人員需要手動將上游提交拉入其本地倉庫,或手動將其本地提交推回到中央倉庫。git remote命令實際上只是將URL傳遞給這些“共享”命令的一種更簡單的方法。
origin Remote
當使用 git clone 克隆倉庫時,它會自動建立一個名為 origin 的遠端連線,指向克隆的遠端倉庫。 這對於建立中央倉庫的本地副本的開發人員很有用,因為它提供了一種簡單的方法來拉取上游更改或釋出本地提交。 這種行為也是大多數基於 Git 的專案稱與中央倉庫的連結為 origin 的原因。
倉庫 URL
Git支援多種引用遠端倉庫的方法。訪問遠端倉庫的兩種最簡單的方法是通過HTTP
和SSH
協議。HTTP 是一種允許匿名、只讀訪問倉庫的簡單方法。例如:
http://host/path/to/repo.git
但是,通常不可能將提交推送到HTTP地址(無論如何,我們都不希望允許匿名推送)。對於讀寫訪問,應改用SSH:
ssh://user@host/path/to/repo.git
在主機上需要一個有效的SSH帳戶,但除此之外,Git還支援通過SSH進行開箱即用的身份驗證訪問。
git remote 命令常用子命令
git remote 命令是許多需要附加“子命令”的 Git 命令之一。 下面是對常用 git remote子命令的介紹。
ADD <NAME> <URL>
在 ./.git/config 中新增一條記錄,該記錄是為名稱為 name <NAME>
的遠端連結新增遠端url<URL>
。
如果後面跟上-f
選項,則在建立遠端記錄後立即進行 git fetch
操作。
如果後面跟上--tags
選項,則在建立遠端記錄後立即進行git fetch
操作,並且從遠端倉庫中匯入標籤。
RENAME <OLD> <NEW>
更新 ./.git/config 以將記錄 <OLD> 重新命名為 <NEW>。 更新所有遠端跟蹤分支和遠端的配置設定。
REMOVE <NAME>
# 或者
RM <NAME>
修改 ./.git/config
並刪除名為<NAME>的遠端檔案。將刪除所有遠端跟蹤分支和遠端跟蹤的配置設定。
GET-URL <NAME>
輸出遠端記錄的 URL。
SHOW <NAME>
輸出有關遠端<NAME>的高階資訊。
PRUNE <NAME>
刪除<NAME>遠端儲存庫中不存在的任何本地分支。
新增遠端倉庫
git remote add
命令將建立一個到遠端儲存庫的新連線記錄。 新增遠端記錄後,我們將能夠在其他 Git 命令中用新新增的遠端倉庫連結的名稱對遠端倉庫進行push或pull等操作。
$ git remote add fake_test https://github.com/onmpw/JYPHP.git;
更詳細的新增遠端倉庫的介紹可以參考 git remote 操作——一個專案多個遠端倉庫 這篇文章