Git系列文章(4) Git基礎使用(3)

2021-10-19 10:44:05 字數 4016 閱讀 5233

前兩天主要介紹了對本地的git倉庫的一些基礎操作,今天將會介紹對遠端倉庫的基本操作。

在平常的專案中,我們常常會與遠端倉庫打交道。遠端倉庫是指在網際網路或者其他網路伺服器上託管的專案版本庫。通過遠端倉庫我們可以與其他專案團隊成員共享工作成果。對於遠端倉庫的基礎的使用,我們需要了解如何新增遠端倉庫、檢視專案中使用了哪些遠端倉庫、移除不再使用的遠端倉庫、管理遠端倉庫的遠端分支等等操作。

$ git clone
使用命令git remote命令可以檢視當前專案中設定哪些遠端倉庫,可以追加-v選項檢視遠端倉庫的url位址

$ git remote

origin

$ git remote -v

origin (fetch)

origin (push)

如果使用git clone來初始化本地的git倉庫,則origin是轉殖的遠端倉庫的預設名稱,並沒有特別的含義。如果使用git clone -o為遠端倉庫設定別名,則此時git remote的輸出為設定的別名。

執行git remote add [shortname] [url]新增遠端倉庫,其中shortname為遠端倉庫的引用名稱。

$ git remote add vue-next 

$ git remote -v

origin (fetch)

origin (push)

vue-next (fetch)

vue-next (push)

git中提供了2種從遠端倉庫拉取資料的方式:git pull :git fetch

如果使用git clone轉殖遠端專案,則remote_nameorigin;如果使用git clone -o,則remote_namealias_name;如果使用git remote add [shortname] [url]新增的遠端倉庫,則remote_nameshortname

git fetch會從對應的遠端倉庫中獲取本地倉庫沒有的資料,也包括遠端倉庫中含有的分支,需要注意的是,該命令只是獲取資料到本地,並不會與本地工作區內的檔案合併,如果想和當前本地分支合併,需要後續執行git merge命令。

git pull也會從遠端倉庫自動獲取資料,但是會將遠端倉庫分支合併到當前本地分支,可以認為該命令是git fetchgit merge兩個步驟的結合。

可以使用git push [remote-name] [local-branch-name]命令將本地資料推送到遠端倉庫,例如:可以使用git push origin master可以將本地的master分支推動到origin對應的遠端倉庫。

如果想將本地資料順利的推送至遠端倉庫,需要注意的是:

當前使用者需要擁有轉殖下來的遠端倉庫的讀寫許可權

從遠端倉庫倉庫轉殖後,在提交之前,如果遠端倉庫被修改了,那麼這次推送會不成功,需要拉取最新的遠端倉庫,合併到自己的工作目錄中,然後在將合併後的版本內容再推送到遠端倉庫

在7.2節使用git remote -v可以檢視專案中設定的遠端倉庫的名稱和對應的url位址。這裡可以使用git remote show [remote-name],顯示更多的遠端的資訊。

$ git remote show origin

* remote origin

fetch url:

push url:

head branch: master

remote branches:

>linusborg/improve-render-warning-missing-props tracked

add-license-files-to-all-packages-2650 tracked

akryum/on-server-prefetch tracked

dependabot/npm_and_yarn/babel/parser-7.12.11 tracked

dependabot/npm_and_yarn/babel/types-7.12.12 tracked

dependabot/npm_and_yarn/estree-walker-2.0.2 tracked

dependabot/npm_and_yarn/ini-1.3.8 tracked

dependabot/npm_and_yarn/node-notifier-8.0.1 tracked

feat/expose tracked

linusborg/feat-warn-reserved-properties tracked

linusborg/handle-readonly-type-attr-on-textarea-2766 tracked

linusborg/map-shallow-proxies-seperately-2843 tracked

master tracked

postcss-8 tracked

reactive-let tracked

script-setup-2 tracked

test/types/props-default 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)

輸出結果中不僅僅顯示了遠端倉庫的名稱和url位址,並列出了當前專案追蹤了遠端倉庫的哪些分支,以及當前使用的分支名稱。

這裡可以注意一下最後4行的輸出內容,其中最後2行的輸出內容指出了,當執行git push命令是會將本地倉庫中的master分支推送至遠端倉庫中的master分支;最後3-4行的輸出內容指出了,當執行git pull命令時,會將遠端倉庫的master拉取並合併到本地倉庫的master中。

可以使用命令git remote rename更新遠端倉庫的名稱,更新時也會更新遠端分支的名稱,例如更新後,之前的/master分支名稱會變成為/master

可以使用命令git remote rm刪除指定的遠端倉庫。

4 Git 基礎 撤消操作

任何時候,你都有可能需要撤消剛才所做的某些操作。接下來,我們會介紹一些基本的撤消操作相關的命令。請注意,有些撤銷操作是不可逆的,所以請務必謹慎小心,一旦失誤,就有可能丟失部分工作成果。amend git commit amend此命令將使用當前的暫存區域快照提交。如果剛才提交完沒有作任何改動,直接執...

git基礎 4 git跟蹤或取消跟蹤檔案

在git是用過程中,可能遇到以下情況 1 被跟蹤檔案裡面有不想跟蹤的檔案。2 每次用git status檢視狀態時總是列出未被跟蹤的檔案。解決方法 1 當被跟蹤的檔案裡面有不想跟蹤的檔案時,使用命令git rm刪除檔案。如 git rm cached readme1.txt 刪除readme1.tx...

git系列文章

霍格沃茲測試學院是由中國最大的測試開發技術社群 testerhome 孵化的高階教育品牌,致力於為 it 行業提供最優秀的測試開發技術培訓和人才服務。學院成立於 2017 年,不到一年時間就已經服務上萬使用者且好評不斷。學院已經與 70 多家最頂級的一線網際網路公司建立合作聯絡,包括 阿里 騰訊 美...