0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Git項(xiàng)目遠(yuǎn)程倉庫的使用

麥辣雞腿堡 ? 來源:嵌入式Linux系統(tǒng)開發(fā) ? 作者:嵌入式Linux系統(tǒng)開 ? 2023-07-22 11:31 ? 次閱讀

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

為了能在任意 Git 項(xiàng)目上協(xié)作,你需要知道如何管理自己的遠(yuǎn)程倉庫。遠(yuǎn)程倉庫是指托管在因特網(wǎng)或其他網(wǎng)絡(luò)中的你的項(xiàng)目的版本庫。你可以有好幾個遠(yuǎn)程倉庫,通常有些倉庫對你只讀,有些則可以讀寫。與他人協(xié)作涉及管理遠(yuǎn)程倉庫以及根據(jù)需要推送或拉取數(shù)據(jù)。

管理遠(yuǎn)程倉庫包括了解如何添加遠(yuǎn)程倉庫、移除無效的遠(yuǎn)程倉庫、管理不同的遠(yuǎn)程分支并定義它們是否被跟蹤等等。

查看遠(yuǎn)程倉庫

如果想查看你已經(jīng)配置的遠(yuǎn)程倉庫服務(wù)器,可以運(yùn)行 git remote 命令。它會列出你指定的每一個遠(yuǎn)程服務(wù)器的簡寫。如果你已經(jīng)克隆了自己的倉庫,那么至少應(yīng)該能看到 origin ——這是 Git 給你克隆的倉庫服務(wù)器的默認(rèn)名字:

$ git clone https://github.com/schacon/ticgit
Cloning 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 | 268.00 KiB/s, done.
Resolving deltas: 100% (772/772), done.
Checking connectivity... done.
$ cd ticgit
$ git remote
origin

你也可以指定選項(xiàng) -v,會顯示需要讀寫遠(yuǎn)程倉庫使用的 Git 保存的簡寫與其對應(yīng)的 URL。

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

如果你的遠(yuǎn)程倉庫不止一個,該命令會將它們?nèi)苛谐?。例如,與幾個協(xié)作者合作的,擁有多個遠(yuǎn)程倉庫的倉庫看起來像下面這樣:

$ cd grit
$ git remote -v
bakkdoor https://github.com/bakkdoor/grit (fetch)
bakkdoor https://github.com/bakkdoor/grit (push)
cho45 https://github.com/cho45/grit (fetch)
cho45 https://github.com/cho45/grit (push)
defunkt https://github.com/defunkt/grit (fetch)
defunkt https://github.com/defunkt/grit (push)
koke git://github.com/koke/grit.git (fetch)
koke git://github.com/koke/grit.git (push)
origin git@github.com:mojombo/grit.git (fetch)
origin git@github.com:mojombo/grit.git (push)

這表示我們能非常方便地拉取其它用戶的貢獻(xiàn)。我們還可以擁有向他們推送的權(quán)限。

注意這些遠(yuǎn)程倉庫使用了不同的協(xié)議。

添加遠(yuǎn)程倉庫

我們在之前的章節(jié)中已經(jīng)提到并展示了 git clone 命令是如何自行添加遠(yuǎn)程倉庫的, 不過這里將告訴你如何自己來添加它。運(yùn)行 git remote add shortname url 添加一個新的遠(yuǎn)程 Git 倉庫,同時指定一個方便使用的簡寫:

$ git remote
origin

$ git remote add pb https://github.com/paulboone/ticgit

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

從遠(yuǎn)程倉庫中抓取與拉取

從遠(yuǎn)程倉庫中獲得數(shù)據(jù),可以執(zhí)行:

$ git fetch < remote >

注意 git fetch 命令只會將數(shù)據(jù)下載到你的本地倉庫——它并不會自動合并或修改你當(dāng)前的工作。當(dāng)準(zhǔn)備好時你必須手動將其合并入你的工作。

如果你的當(dāng)前分支設(shè)置了跟蹤遠(yuǎn)程分支(閱讀下一節(jié)和 Git 分支 了解更多息), 那么可以用 git pull 命令來自動抓取后合并該遠(yuǎn)程分支到當(dāng)前分支。這或許是個更加簡單舒服的工作流程。

默認(rèn)情況下,git clone 命令會自動設(shè)置本地 master 分支跟蹤克隆的遠(yuǎn)程倉庫的 master 分支(或其它名字的默認(rèn)分支)。運(yùn)行 git pull 通常會從最初克隆的服務(wù)器上抓取數(shù)據(jù)并自動嘗試合并到當(dāng)前所在的分支。

推送到遠(yuǎn)程倉庫

當(dāng)你想分享你的項(xiàng)目時,必須將其推送到上游。這個命令很簡單:git push remote branch。當(dāng)你想要將 master 分支推送到 origin 服務(wù)器時(克隆時通常會自動幫你設(shè)置好那兩個名字), 那么運(yùn)行這個命令就可以將你所做的備份到服務(wù)器:

$ git push origin master

只有當(dāng)你有所克隆服務(wù)器的寫入權(quán)限,并且之前沒有人推送過時,這條命令才能生效。當(dāng)你和其他人在同一時間克隆,他們先推送到上游然后你再推送到上游,你的推送就會毫無疑問地被拒絕。你必須先抓取他們的工作并將其合并進(jìn)你的工作后才能推送。

意思就是每次 git push 之前盡量先 git pull 一下,沒有 conflict 后再 git push。

查看某個遠(yuǎn)程倉庫

如果想要查看某一個遠(yuǎn)程倉庫的更多信息,可以使用 git remote show remote 命令。如果想以一個特定的縮寫名運(yùn)行這個命令,例如 origin,會得到像下面類似的信息:

$ git remote show origin
* remote origin
Fetch URL: https://github.com/schacon/ticgit
Push URL: https://github.com/schacon/ticgit
HEAD branch: master
Remote branches:
master tracked
dev-branch tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (up to date)

它同樣會列出遠(yuǎn)程倉庫的 URL 與跟蹤分支的信息。這些信息非常有用,它告訴你正處于 master 分支,并且如果運(yùn)行 git pull, 就會抓取所有的遠(yuǎn)程引用,然后將遠(yuǎn)程 master 分支合并到本地 master 分支。它也會列出拉取到的所有遠(yuǎn)程引用。

遠(yuǎn)程倉庫的重命名與移除

你可以運(yùn)行 git remote rename 來修改一個遠(yuǎn)程倉庫的簡寫名。例如,想要將 pb 重命名為 paul,可以用 git remote rename 這樣做:

$ git remote rename pb paul
$ git remote
origin
paul

這同樣也會修改你所有遠(yuǎn)程跟蹤的分支名字。

如果因?yàn)橐恍┰蛳胍瞥粋€遠(yuǎn)程倉庫——你已經(jīng)從服務(wù)器上搬走了或不再想使用某一個特定的鏡像了, 又或者某一個貢獻(xiàn)者不再貢獻(xiàn)了——可以使用 git remote remove 或 git remote rm :

$ git remote remove paul
$ git remote
origin

一旦你使用這種方式刪除了一個遠(yuǎn)程倉庫,那么所有和這個遠(yuǎn)程倉庫相關(guān)的遠(yuǎn)程跟蹤分支以及配置信息也會一起被刪除。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Git
    Git
    +關(guān)注

    關(guān)注

    0

    文章

    195

    瀏覽量

    15687
  • 遠(yuǎn)程倉庫
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    2061
收藏 人收藏

    評論

    相關(guān)推薦

    Git常用的超級實(shí)用命令

    的一些Git工作流。 1 Git 常用的超級實(shí)用命令 1.1 與倉庫相關(guān)的操作 克隆代碼倉庫到本地,開發(fā)必用 git clone 查看本地
    的頭像 發(fā)表于 10-09 17:19 ?1063次閱讀
    <b class='flag-5'>Git</b>常用的超級實(shí)用命令

    Git命令之本地分支與遠(yuǎn)程分支關(guān)聯(lián)和解除

    在實(shí)際的工作生活中,往往需要將本地的分支和遠(yuǎn)程分支關(guān)聯(lián),這樣我們就可以使用git pull命令來更新拉取最新的代碼,并使用git push命令將自己本地的修改推送到遠(yuǎn)程
    的頭像 發(fā)表于 12-15 09:27 ?2172次閱讀
    <b class='flag-5'>Git</b>命令之本地分支與<b class='flag-5'>遠(yuǎn)程</b>分支關(guān)聯(lián)和解除

    Git 常用命令大全

    。下面分享下常用的命令1) 遠(yuǎn)程倉庫相關(guān)命令檢出倉庫:$ git clone git://github.com/jquery/jquery.
    發(fā)表于 10-11 17:23

    【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】git倉庫建立以及使用

    ://gitee.com/XXX/XXX此處就會下載3、ubuntu下載下來后,就可以改代碼了4、此時我就把代碼先復(fù)制到XXX文件下,然后進(jìn)行上傳<0>新增遠(yuǎn)程倉庫git remote
    發(fā)表于 01-17 16:04

    HarmonyOS-Device Stdio中git的使用

    1.創(chuàng)建本地倉庫新建文件夾,在文件中依次運(yùn)行以下git指令。A.初始化gitgit initB.添加遠(yuǎn)程倉庫git remote add o
    發(fā)表于 02-16 16:15

    Git在RT-Thread studio中的基本操作步驟解析

    studio克隆后導(dǎo)入工程(注:只有 eclipse 工程才可以導(dǎo)入成功)注:從遠(yuǎn)程倉庫克隆至本地后需要導(dǎo)入 RT-Thread studio 工程,才可以在項(xiàng)目資源管理器中顯示工程內(nèi)容Gi
    發(fā)表于 03-24 09:37

    如何使用計(jì)算機(jī)上的本地倉庫以及GitHub上托管的遠(yuǎn)程倉庫

    添加遠(yuǎn)程倉庫要新增遠(yuǎn)程,請?jiān)诮K端上存儲倉庫的目錄中使用 git remote add 命令。git
    發(fā)表于 06-22 16:57

    packages中有git倉庫的軟件包的工程推送到遠(yuǎn)程倉庫軟件包文件夾內(nèi)無內(nèi)容?

    工程的大倉庫里如果packages里面有另外的倉庫的時候,使用git拉取或者推送得到的文件夾沒有內(nèi)容
    發(fā)表于 04-14 10:24

    如何跟遠(yuǎn)程倉庫一起協(xié)作提交代碼

    之前的這篇文章「從0開始學(xué)習(xí) GitHub 系列之「Git速成」」相信大家都已經(jīng)對 Git 的基本操作熟悉了,但是這篇文章只介紹了對本地 Git 倉庫的基本操作,今天我就來介紹下如何跟
    發(fā)表于 10-10 11:39 ?0次下載
    如何跟<b class='flag-5'>遠(yuǎn)程</b><b class='flag-5'>倉庫</b>一起協(xié)作提交代碼

    如何在GitHub上創(chuàng)建一個全新的Git倉庫詳細(xì)講解

    如果您從未使用過 Git,甚至可能從未聽說過它。莫慌張,只需要一步步地跟著這篇入門教程,很快您就會在 GitHub 上擁有一個全新的 Git 倉庫
    的頭像 發(fā)表于 06-10 09:13 ?1.4w次閱讀
    如何在GitHub上創(chuàng)建一個全新的<b class='flag-5'>Git</b><b class='flag-5'>倉庫</b>詳細(xì)講解

    騰訊是如何使用Git?

    那么,切換到 git 來維護(hù)代碼倉庫,會對我們的日常開發(fā)造成影響嗎?答應(yīng)是顯然的,首先我們需要學(xué)習(xí) git 的基本概念與用法,然后就需要我們在具體的項(xiàng)目實(shí)踐過程中打磨我們的
    的頭像 發(fā)表于 08-10 15:02 ?2388次閱讀
    騰訊是如何使用<b class='flag-5'>Git</b>?

    【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】git倉庫建立以及使用

    此處就會下載 3、ubuntu下載下來后,就可以改代碼了 4、此時我就把代碼先復(fù)制到XXX文件下,然后進(jìn)行上傳 0新增遠(yuǎn)程倉庫名??git remote myharmony http://gitee.com/XXX/XXX 第
    的頭像 發(fā)表于 11-01 17:18 ?401次閱讀

    獲取Git項(xiàng)目倉庫的兩種方式

    獲取 Git 倉庫 通常有兩種獲取 Git 項(xiàng)目倉庫的方式: 將尚未進(jìn)行版本控制的本地目錄轉(zhuǎn)換為 Git
    的頭像 發(fā)表于 07-22 11:05 ?845次閱讀

    git如何記錄每次更新到倉庫

    可以用 git status 命令查看哪些文件處于什么狀態(tài)。如果在克隆倉庫后立即使用此命令,會看到類似這樣的輸出: $ git status On branch masterYour branch
    的頭像 發(fā)表于 07-22 11:11 ?471次閱讀
    <b class='flag-5'>git</b>如何記錄每次更新到<b class='flag-5'>倉庫</b>

    git切換遠(yuǎn)程地址分支方式

    git remote set-url origin URL】 更換遠(yuǎn)程倉庫地址,URL為新地址。
    的頭像 發(fā)表于 12-18 09:35 ?1766次閱讀