九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
Git

遠(yuǎn)程倉庫的使用

要參與任何一個 Git 項目的協(xié)作,必須要了解該如何管理遠(yuǎn)程倉庫。遠(yuǎn)程倉庫是指托管在網(wǎng)絡(luò)上的項目倉庫,可能會有好多個,其中有些你只能讀,另外有些可以寫。同他人協(xié)作開發(fā)某個項目時,需要管理這些遠(yuǎn)程倉庫,以便推送或拉取數(shù)據(jù),分享各自的工作進(jìn)展。管理遠(yuǎn)程倉庫的工作,包括添加遠(yuǎn)程庫,移除廢棄的遠(yuǎn)程庫,管理各式遠(yuǎn)程庫分支,定義是否跟蹤這些分支,等等。本節(jié)我們將詳細(xì)討論遠(yuǎn)程庫的管理和使用。

查看當(dāng)前的遠(yuǎn)程庫

要查看當(dāng)前配置有哪些遠(yuǎn)程倉庫,可以用 git remote 命令,它會列出每個遠(yuǎn)程庫的簡短名字。在克隆完某個項目后,至少可以看到一個名為 origin 的遠(yuǎn)程庫,Git 默認(rèn)使用這個名字來標(biāo)識你所克隆的原始倉庫:

$ git clone git://github.com/schacon/ticgit.gitCloning into 'ticgit'...remote: Reusing existing pack: 1857, done.remote: Total 1857 (delta 0), reused 0 (delta 0)Receiving objects: 100% (1857/1857), 374.35 KiB | 193.00 KiB/s, done.Resolving deltas: 100% (772/772), done.Checking connectivity... done.$ cd ticgit$ git remoteorigin

也可以加上 -v 選項(譯注:此為 --verbose 的簡寫,取首字母),顯示對應(yīng)的克隆地址:

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

如果有多個遠(yuǎn)程倉庫,此命令將全部列出。比如在我的 Grit 項目中,可以看到:

$ cd grit$ git remote -vbakkdoor  git://github.com/bakkdoor/grit.gitcho45     git://github.com/cho45/grit.gitdefunkt   git://github.com/defunkt/grit.gitkoke      git://github.com/koke/grit.gitorigin    git@github.com:mojombo/grit.git

這樣一來,我就可以非常輕松地從這些用戶的倉庫中,拉取他們的提交到本地。請注意,上面列出的地址只有 origin 用的是 SSH URL 鏈接,所以也只有這個倉庫我能推送數(shù)據(jù)上去(我們會在第四章解釋原因)。

添加遠(yuǎn)程倉庫

要添加一個新的遠(yuǎn)程倉庫,可以指定一個簡單的名字,以便將來引用,運(yùn)行 git remote add [shortname] [url]

$ git remoteorigin$ git remote add pb git://github.com/paulboone/ticgit.git$ git remote -vorigin  git://github.com/schacon/ticgit.gitpb  git://github.com/paulboone/ticgit.git

現(xiàn)在可以用字符串 pb 指代對應(yīng)的倉庫地址了。比如說,要抓取所有 Paul 有的,但本地倉庫沒有的信息,可以運(yùn)行 git fetch pb

$ git fetch pbremote: Counting objects: 58, done.remote: Compressing objects: 100% (41/41), done.remote: Total 44 (delta 24), reused 1 (delta 0)Unpacking objects: 100% (44/44), done.From git://github.com/paulboone/ticgit * [new branch]      master     -> pb/master * [new branch]      ticgit     -> pb/ticgit

現(xiàn)在,Paul 的主干分支(master)已經(jīng)完全可以在本地訪問了,對應(yīng)的名字是 pb/master,你可以將它合并到自己的某個分支,或者切換到這個分支,看看有些什么有趣的更新。

從遠(yuǎn)程倉庫抓取數(shù)據(jù)

正如之前所看到的,可以用下面的命令從遠(yuǎn)程倉庫抓取數(shù)據(jù)到本地:

$ git fetch [remote-name]

此命令會到遠(yuǎn)程倉庫中拉取所有你本地倉庫中還沒有的數(shù)據(jù)。運(yùn)行完成后,你就可以在本地訪問該遠(yuǎn)程倉庫中的所有分支,將其中某個分支合并到本地,或者只是取出某個分支,一探究竟。(我們會在第三章詳細(xì)討論關(guān)于分支的概念和操作。)

如果是克隆了一個倉庫,此命令會自動將遠(yuǎn)程倉庫歸于 origin 名下。所以,git fetch origin 會抓取從你上次克隆以來別人上傳到此遠(yuǎn)程倉庫中的所有更新(或是上次 fetch 以來別人提交的更新)。有一點(diǎn)很重要,需要記住,fetch 命令只是將遠(yuǎn)端的數(shù)據(jù)拉到本地倉庫,并不自動合并到當(dāng)前工作分支,只有當(dāng)你確實準(zhǔn)備好了,才能手工合并。

如果設(shè)置了某個分支用于跟蹤某個遠(yuǎn)端倉庫的分支(參見下節(jié)及第三章的內(nèi)容),可以使用 git pull 命令自動抓取數(shù)據(jù)下來,然后將遠(yuǎn)端分支自動合并到本地倉庫中當(dāng)前分支。在日常工作中我們經(jīng)常這么用,既快且好。實際上,默認(rèn)情況下 git clone 命令本質(zhì)上就是自動創(chuàng)建了本地的 master 分支用于跟蹤遠(yuǎn)程倉庫中的 master 分支(假設(shè)遠(yuǎn)程倉庫確實有 master 分支)。所以一般我們運(yùn)行 git pull,目的都是要從原始克隆的遠(yuǎn)端倉庫中抓取數(shù)據(jù)后,合并到工作目錄中的當(dāng)前分支。

推送數(shù)據(jù)到遠(yuǎn)程倉庫

項目進(jìn)行到一個階段,要同別人分享目前的成果,可以將本地倉庫中的數(shù)據(jù)推送到遠(yuǎn)程倉庫。實現(xiàn)這個任務(wù)的命令很簡單: git push [remote-name] [branch-name]。如果要把本地的 master 分支推送到 origin 服務(wù)器上(再次說明下,克隆操作會自動使用默認(rèn)的 master 和 origin 名字),可以運(yùn)行下面的命令:

$ git push origin master

只有在所克隆的服務(wù)器上有寫權(quán)限,或者同一時刻沒有其他人在推數(shù)據(jù),這條命令才會如期完成任務(wù)。如果在你推數(shù)據(jù)前,已經(jīng)有其他人推送了若干更新,那你的推送操作就會被駁回。你必須先把他們的更新抓取到本地,合并到自己的項目中,然后才可以再次推送。有關(guān)推送數(shù)據(jù)到遠(yuǎn)程倉庫的詳細(xì)內(nèi)容見第三章。

查看遠(yuǎn)程倉庫信息

我們可以通過命令 git remote show [remote-name] 查看某個遠(yuǎn)程倉庫的詳細(xì)信息,比如要看所克隆的 origin 倉庫,可以運(yùn)行:

$ git remote show origin* remote origin  URL: git://github.com/schacon/ticgit.git  Remote branch merged with 'git pull' while on branch master    master  Tracked remote branches    master    ticgit

除了對應(yīng)的克隆地址外,它還給出了許多額外的信息。它友善地告訴你如果是在 master 分支,就可以用 git pull 命令抓取數(shù)據(jù)合并到本地。另外還列出了所有處于跟蹤狀態(tài)中的遠(yuǎn)端分支。

上面的例子非常簡單,而隨著使用 Git 的深入,git remote show 給出的信息可能會像這樣:

$ git remote show origin* remote origin  URL: git@github.com:defunkt/github.git  Remote branch merged with 'git pull' while on branch issues    issues  Remote branch merged with 'git pull' while on branch master    master  New remote branches (next fetch will store in remotes/origin)    caching  Stale tracking branches (use 'git remote prune')    libwalker    walker2  Tracked remote branches    acl    apiv2    dashboard2    issues    master    postgres  Local branch pushed with 'git push'    master:master

它告訴我們,運(yùn)行 git push 時缺省推送的分支是什么(譯注:最后兩行)。它還顯示了有哪些遠(yuǎn)端分支還沒有同步到本地(譯注:第六行的 caching 分支),哪些已同步到本地的遠(yuǎn)端分支在遠(yuǎn)端服務(wù)器上已被刪除(譯注:Stale tracking branches 下面的兩個分支),以及運(yùn)行 git pull 時將自動合并哪些分支(譯注:前四行中列出的 issuesmaster 分支)。

遠(yuǎn)程倉庫的刪除和重命名

在新版 Git 中可以用 git remote rename 命令修改某個遠(yuǎn)程倉庫在本地的簡稱,比如想把 pb 改成 paul,可以這么運(yùn)行:

$ git remote rename pb paul$ git remoteoriginpaul

注意,對遠(yuǎn)程倉庫的重命名,也會使對應(yīng)的分支名稱發(fā)生變化,原來的 pb/master 分支現(xiàn)在成了 paul/master。

碰到遠(yuǎn)端倉庫服務(wù)器遷移,或者原來的克隆鏡像不再使用,又或者某個參與者不再貢獻(xiàn)代碼,那么需要移除對應(yīng)的遠(yuǎn)端倉庫,可以運(yùn)行 git remote rm 命令:

$ git remote rm paul$ git remoteorigin

遠(yuǎn)程倉庫的使用

要參與任何一個 Git 項目的協(xié)作,必須要了解該如何管理遠(yuǎn)程倉庫。遠(yuǎn)程倉庫是指托管在網(wǎng)絡(luò)上的項目倉庫,可能會有好多個,其中有些你只能讀,另外有些可以寫。同他人協(xié)作開發(fā)某個項目時,需要管理這些遠(yuǎn)程倉庫,以便推送或拉取數(shù)據(jù),分享各自的工作進(jìn)展。管理遠(yuǎn)程倉庫的工作,包括添加遠(yuǎn)程庫,移除廢棄的遠(yuǎn)程庫,管理各式遠(yuǎn)程庫分支,定義是否跟蹤這些分支,等等。本節(jié)我們將詳細(xì)討論遠(yuǎn)程庫的管理和使用。

查看當(dāng)前的遠(yuǎn)程庫

要查看當(dāng)前配置有哪些遠(yuǎn)程倉庫,可以用 git remote 命令,它會列出每個遠(yuǎn)程庫的簡短名字。在克隆完某個項目后,至少可以看到一個名為 origin 的遠(yuǎn)程庫,Git 默認(rèn)使用這個名字來標(biāo)識你所克隆的原始倉庫:

$ git clone git://github.com/schacon/ticgit.gitCloning into 'ticgit'...remote: Reusing existing pack: 1857, done.remote: Total 1857 (delta 0), reused 0 (delta 0)Receiving objects: 100% (1857/1857), 374.35 KiB | 193.00 KiB/s, done.Resolving deltas: 100% (772/772), done.Checking connectivity... done.$ cd ticgit$ git remoteorigin

也可以加上 -v 選項(譯注:此為 --verbose 的簡寫,取首字母),顯示對應(yīng)的克隆地址:

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

如果有多個遠(yuǎn)程倉庫,此命令將全部列出。比如在我的 Grit 項目中,可以看到:

$ cd grit$ git remote -vbakkdoor  git://github.com/bakkdoor/grit.gitcho45     git://github.com/cho45/grit.gitdefunkt   git://github.com/defunkt/grit.gitkoke      git://github.com/koke/grit.gitorigin    git@github.com:mojombo/grit.git

這樣一來,我就可以非常輕松地從這些用戶的倉庫中,拉取他們的提交到本地。請注意,上面列出的地址只有 origin 用的是 SSH URL 鏈接,所以也只有這個倉庫我能推送數(shù)據(jù)上去(我們會在第四章解釋原因)。

添加遠(yuǎn)程倉庫

要添加一個新的遠(yuǎn)程倉庫,可以指定一個簡單的名字,以便將來引用,運(yùn)行 git remote add [shortname] [url]

$ git remoteorigin$ git remote add pb git://github.com/paulboone/ticgit.git$ git remote -vorigin  git://github.com/schacon/ticgit.gitpb  git://github.com/paulboone/ticgit.git

現(xiàn)在可以用字符串 pb 指代對應(yīng)的倉庫地址了。比如說,要抓取所有 Paul 有的,但本地倉庫沒有的信息,可以運(yùn)行 git fetch pb

$ git fetch pbremote: Counting objects: 58, done.remote: Compressing objects: 100% (41/41), done.remote: Total 44 (delta 24), reused 1 (delta 0)Unpacking objects: 100% (44/44), done.From git://github.com/paulboone/ticgit * [new branch]      master     -> pb/master * [new branch]      ticgit     -> pb/ticgit

現(xiàn)在,Paul 的主干分支(master)已經(jīng)完全可以在本地訪問了,對應(yīng)的名字是 pb/master,你可以將它合并到自己的某個分支,或者切換到這個分支,看看有些什么有趣的更新。

從遠(yuǎn)程倉庫抓取數(shù)據(jù)

正如之前所看到的,可以用下面的命令從遠(yuǎn)程倉庫抓取數(shù)據(jù)到本地:

$ git fetch [remote-name]

此命令會到遠(yuǎn)程倉庫中拉取所有你本地倉庫中還沒有的數(shù)據(jù)。運(yùn)行完成后,你就可以在本地訪問該遠(yuǎn)程倉庫中的所有分支,將其中某個分支合并到本地,或者只是取出某個分支,一探究竟。(我們會在第三章詳細(xì)討論關(guān)于分支的概念和操作。)

如果是克隆了一個倉庫,此命令會自動將遠(yuǎn)程倉庫歸于 origin 名下。所以,git fetch origin 會抓取從你上次克隆以來別人上傳到此遠(yuǎn)程倉庫中的所有更新(或是上次 fetch 以來別人提交的更新)。有一點(diǎn)很重要,需要記住,fetch 命令只是將遠(yuǎn)端的數(shù)據(jù)拉到本地倉庫,并不自動合并到當(dāng)前工作分支,只有當(dāng)你確實準(zhǔn)備好了,才能手工合并。

如果設(shè)置了某個分支用于跟蹤某個遠(yuǎn)端倉庫的分支(參見下節(jié)及第三章的內(nèi)容),可以使用 git pull 命令自動抓取數(shù)據(jù)下來,然后將遠(yuǎn)端分支自動合并到本地倉庫中當(dāng)前分支。在日常工作中我們經(jīng)常這么用,既快且好。實際上,默認(rèn)情況下 git clone 命令本質(zhì)上就是自動創(chuàng)建了本地的 master 分支用于跟蹤遠(yuǎn)程倉庫中的 master 分支(假設(shè)遠(yuǎn)程倉庫確實有 master 分支)。所以一般我們運(yùn)行 git pull,目的都是要從原始克隆的遠(yuǎn)端倉庫中抓取數(shù)據(jù)后,合并到工作目錄中的當(dāng)前分支。

推送數(shù)據(jù)到遠(yuǎn)程倉庫

項目進(jìn)行到一個階段,要同別人分享目前的成果,可以將本地倉庫中的數(shù)據(jù)推送到遠(yuǎn)程倉庫。實現(xiàn)這個任務(wù)的命令很簡單: git push [remote-name] [branch-name]。如果要把本地的 master 分支推送到 origin 服務(wù)器上(再次說明下,克隆操作會自動使用默認(rèn)的 master 和 origin 名字),可以運(yùn)行下面的命令:

$ git push origin master

只有在所克隆的服務(wù)器上有寫權(quán)限,或者同一時刻沒有其他人在推數(shù)據(jù),這條命令才會如期完成任務(wù)。如果在你推數(shù)據(jù)前,已經(jīng)有其他人推送了若干更新,那你的推送操作就會被駁回。你必須先把他們的更新抓取到本地,合并到自己的項目中,然后才可以再次推送。有關(guān)推送數(shù)據(jù)到遠(yuǎn)程倉庫的詳細(xì)內(nèi)容見第三章。

查看遠(yuǎn)程倉庫信息

我們可以通過命令 git remote show [remote-name] 查看某個遠(yuǎn)程倉庫的詳細(xì)信息,比如要看所克隆的 origin 倉庫,可以運(yùn)行:

$ git remote show origin* remote origin  URL: git://github.com/schacon/ticgit.git  Remote branch merged with 'git pull' while on branch master    master  Tracked remote branches    master    ticgit

除了對應(yīng)的克隆地址外,它還給出了許多額外的信息。它友善地告訴你如果是在 master 分支,就可以用 git pull 命令抓取數(shù)據(jù)合并到本地。另外還列出了所有處于跟蹤狀態(tài)中的遠(yuǎn)端分支。

上面的例子非常簡單,而隨著使用 Git 的深入,git remote show 給出的信息可能會像這樣:

$ git remote show origin* remote origin  URL: git@github.com:defunkt/github.git  Remote branch merged with 'git pull' while on branch issues    issues  Remote branch merged with 'git pull' while on branch master    master  New remote branches (next fetch will store in remotes/origin)    caching  Stale tracking branches (use 'git remote prune')    libwalker    walker2  Tracked remote branches    acl    apiv2    dashboard2    issues    master    postgres  Local branch pushed with 'git push'    master:master

它告訴我們,運(yùn)行 git push 時缺省推送的分支是什么(譯注:最后兩行)。它還顯示了有哪些遠(yuǎn)端分支還沒有同步到本地(譯注:第六行的 caching 分支),哪些已同步到本地的遠(yuǎn)端分支在遠(yuǎn)端服務(wù)器上已被刪除(譯注:Stale tracking branches 下面的兩個分支),以及運(yùn)行 git pull 時將自動合并哪些分支(譯注:前四行中列出的 issuesmaster 分支)。

遠(yuǎn)程倉庫的刪除和重命名

在新版 Git 中可以用 git remote rename 命令修改某個遠(yuǎn)程倉庫在本地的簡稱,比如想把 pb 改成 paul,可以這么運(yùn)行:

$ git remote rename pb paul$ git remoteoriginpaul

注意,對遠(yuǎn)程倉庫的重命名,也會使對應(yīng)的分支名稱發(fā)生變化,原來的 pb/master 分支現(xiàn)在成了 paul/master

碰到遠(yuǎn)端倉庫服務(wù)器遷移,或者原來的克隆鏡像不再使用,又或者某個參與者不再貢獻(xiàn)代碼,那么需要移除對應(yīng)的遠(yuǎn)端倉庫,可以運(yùn)行 git remote rm 命令:

$ git remote rm paul$ git remoteorigin
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
git命令之git remote的用法
Git詳解之二 Git基礎(chǔ)
推薦!手把手教你使用Git | 互聯(lián)網(wǎng)的那點(diǎn)事
Android Studio:GIT提交項目到遠(yuǎn)程倉庫
Git學(xué)習(xí)筆記
git實操常用命令匯總-小馬哥
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服