Git遠程操作的命令主要有:
- $ git remote # 查看遠程服務器
- $ git remote -v # 查看遠程版本庫信息
- $ git remote show [remote-name] # 查看指定遠程倉庫的信息
- $ git remote add <short-name> <url> # 添加遠程倉庫
- $ git fetch [remote-name] # 從遠程倉庫獲取數據
- $ git pull <remote-name> <branch-name> # 從遠程倉庫拉取數據並合入當前分支
- $ git push [remote-name] [branch-name] # 推送本地數據到遠程倉庫
- $ git remote rename <old> <new> # 修改遠程倉庫的引用名稱
- $ git remote rm <short-name> # 移除指定遠程倉庫
1. 查看遠程倉庫
如果想查看你已經配置的遠程倉庫服務器,可以運行 git remote 命令。 它會列出你指定的每一個遠程服務器的簡寫。 如果你已經克隆了自己的倉庫,那么至少應該能看到 origin - 這是 Git 給你克隆的倉庫服務器的默認名字:
你也可以運行git remote -v,它會顯示需要讀寫遠程倉庫使用的 Git 保存的簡寫與其對應的 URL。
如果你的遠程倉庫不止一個,該命令會將它們全部列出。 例如,與幾個協作者合作的,擁有多個遠程倉庫的倉庫看起來像下面這樣:
這樣我們可以輕松拉取其中任何一個用戶的貢獻。
如果想要查看某一個遠程倉庫的更多信息,可以使用 git remote show [remote-name] 命令。 如果想以一個特定的縮寫名運行這個命令,例如 origin,會得到像下面類似的信息:
2. 添加遠程倉庫
運行 git remote add <short-name> <url> 命令可以添加一個新的遠程 Git 倉庫,同時指定一個你可以輕松引用的簡寫:
現在你可以在命令行中使用字符串 pb 來代替整個 URL。 例如,如果你想拉取 Paul 的倉庫中有但你沒有的信息,可以運行 git fetch pb:
3. 從遠程倉庫拉取
從遠程倉庫中獲得數據,可以執行命令:
$ git fetch [remote-name]
這個命令會訪問遠程倉庫,從中拉取所有你還沒有的數據。 執行完成后,你將會擁有那個遠程倉庫中所有分支的引用,可以隨時合並或查看。注意: git fetch 命令會將數據拉取到你的本地倉庫 - 它並不會自動合並或修改你當前的工作。 當准備好時你必須手動將其合並入你的工作。
4. 從遠程倉庫拉取數據並合入當前分支
運行 git pull 通常會從最初克隆的服務器上抓取所有分支修改的數據,並自動嘗試將對應分支的修改合並到當前分支。如果你只想獲取指定分支的更新,並將其合入當前分支,可以執行如下命令:
$ git pull <remote-name> <branch-name>
5. 推送本地數據到遠程倉庫
當你想分享你的項目時,必須將其推送到上游。 這個命令很簡單:git push [remote-name] [branch-name]。當你想要將 master 分支推送到 origin 服務器時那么運行這個命令就可以將你所做的備份到服務器:
只有當你有所克隆服務器的寫入權限,並且之前沒有人推送過時,這條命令才能生效。 當你和其他人在同一時間克隆,他們先推送到上游然后你再推送到上游,你的推送就會毫無疑問地被拒絕。 你必須先將他們的工作拉取下來並將其合並進你的工作后才能推送。
6. 遠程倉庫的移除與重命名
如果想要重命名引用的名字可以運行 git remote rename 去修改一個遠程倉庫的簡寫名。 例如,想要將 pb重命名為 paul,可以用 git remote rename 這樣做:
如果因為一些原因想要移除一個遠程倉庫 - 你已經從服務器上搬走了或不再想使用某一個特定的鏡像了,又或者某一個貢獻者不再貢獻了,可以使用 git remote rm 命令: