Git--遠程倉庫的使用和多倉庫管理

遠程倉庫的使用

爲了能在任意 Git 項目上協作,你需要知道如何管理自己的遠程倉庫。 遠程倉庫是指託管在因特網或其他網絡中的你的項目的版本庫。
你可以有好幾個遠程倉庫,通常有些倉庫對你只讀,有些則可以讀寫。 與他人協作涉及管理遠程倉庫以及根據需要推送或拉取數據。
管理遠程倉庫包括瞭解如何添加遠程倉庫、移除無效的遠程倉庫、管理不同的遠程分支並定義它們是否被跟蹤等等。

一、基本命令介紹

1.查看當前倉庫的遠程庫列表
     $git remote 只列出來遠程庫別名(如果本地倉庫是clone的來的,至少會有一個origin 這是 Git 給你克隆的倉庫服務器的默認名字)

     $git remote -v 會顯示需要讀寫遠程倉庫使用的 Git 保存的簡寫與其對應的 URL。

$ git remote -v
origin  https://github.com/schacon/ticgit (fetch)
origin  https://github.com/schacon/ticgit (push)

    $git remote show [remote-name] 查看某遠程倉庫的詳情

此命令列出了當你在特定的分支上執行 git push 或者git pull時候默認會操作(提交或自動合併)的遠程分支。 它也同樣地列出了哪些遠程分支不在你的本地,哪些遠程分支已經從服務器上移除了。

2.添加遠程倉庫
    $git remote add [shortname] [url] 添加一個新的遠程 Git 倉庫,同時指定一個你可以輕鬆引用的簡寫

3.從遠程倉庫中抓取與拉取
    $git fetch | pull [remote-name]
fetch與pull的區別:如果你使用 clone 命令克隆了一個倉庫,命令會自動將其添加爲遠程倉庫並默認以 “origin” 爲簡寫。
git fetch origin 會抓取克隆(或上一次抓取)後新推送的所有工作。 並不會自動合併或修改你當前的工作,必須要手動進行合併。
git pull 命令來自動的抓取然後合併遠程分支到當前分支。
默認情況下,git clone 命令會自動設置本地 master 分支跟蹤克隆的遠程倉庫的 master 分支(或不管是什麼名字的默認分支)。 運行 git pull 通常會從最初克隆的服務器上抓取數據並自動嘗試合併到當前所在的分支。
4.推送到遠程倉庫
    $git push [remote-name] [branch] 推送 【倉庫】的【branch】分支

5.遠程倉庫的移除與重命名
     $git remote rename [old] [new] 去修改一個遠程倉庫的簡寫名
     $git remote rm [remote-name] 移除指定的遠程庫

二、同時提交多個倉庫的操作

如果同一個項目存在兩個遠程倉庫
https://github/repository.git github上的
[email protected]/repository.git 碼雲上的
實現一次push 到兩個倉庫上
1.git remote add two https://github/repository.git;創建一個two別名的遠程倉庫並講github的url 賦值上去;
2.git remote set-url –add two [email protected]/repository.git ;然後通過set-url將碼雲的url添加到two上(支持https和ssh混用)
3.git push two –all ;最後就可以通過push two 來同時push到兩個倉庫中出

三、可能遇到的問題

在遠程庫首次關聯的時候可能會出現下圖的問題:
這裏寫圖片描述
具體解決方案請參考《如何解決failed to push some refs to git》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章