GIT遠端操作

2021-08-21 20:18:57 字數 4198 閱讀 3212

layout: post

title: "git遠端操作"

date: 2016-06-02 20:37:22 +0800

comments: true

categories: [git]

很早以前就接觸git了,但是一直是很簡單的應用,只是把專案網上面掛,並沒有用到git的好處。這次想把實習的專案掛到git上去,多方應用。

為了便於管理,git要求每個遠端主機都必須指定乙個主機名。git remote命令就用於管理主機名。

不帶選項的時候,git remote命令列出所有遠端主機。

使用-v選項,可以檢視遠端主機的**。

$ git remote -v

origin [email protected]:jquery/jquery.git (fetch)

origin [email protected]:jquery/jquery.git (push)

上面便是,當前有一台遠端主機叫做 origin 以及他的**。

轉殖版本庫的時候,所使用的遠端主機自動被git命名為origin。如果想用其他的主機名,需要用git clone命令的-o選項指定。

$ git clone -o jquery 

$ git remote

jquery

上面命令表示,轉殖的時候,指定遠端主機叫做jquery。

git remote add
命令用於新增遠端主機。

$ git remote add 《主機名》 《**》
git remote rm
命令用於刪除遠端主機。

git remote rename
命令用於遠端主機的改名。

$ git remote rename 《原主機名》 《新主機名》
一旦遠端主機的版本庫有了更新(git術語叫做commit),需要將這些更新取回本地,這時就要用到

git fetch
命令。

$ git fetch 《遠端主機名》

//上面命令將某個遠端主機的更新,全部取回本地。

//git fetch命令通常用來檢視其他人的程序,因為它取回的**對你本地的開發**沒有影響。

//預設情況下,git fetch取回所有分支(branch)的更新。如果只想取回特定分支的更新,可以指定分支名。

$ git fetch 《遠端主機名》 《分支名》

$ git fetch origin master

所取回的更新,在本地主機上要用"遠端主機名/分支名"的形式讀取。比如origin主機的master,就要用origin/master讀取。

git branch
命令的-r選項,可以用來檢視遠端分支,-a選項檢視所有分支。

$ git branch -r

origin/master

$ git branch -a

* master

remotes/origin/master

上面命令表示,本地主機的當前分支是master,遠端分支是origin/master

取回遠端主機的更新以後,可以在它的基礎上,使用

git checkout
命令建立乙個新的分支。

$ git checkout -b newbrach origin/master
上面命令表示,在origin/master的基礎上,建立乙個新分支。

此外,也可以使用

git merge
命令或者

git rebase
命令,在本地分支上合併遠端分支。

$ git merge origin/master

或者$ git rebase origin/master

上面命令表示在當前分支上,合併origin/master

git pull命令的作用是,取回遠端主機某個分支的更新,再與本地的指定分支合併。它的完整格式稍稍有點複雜。

$ git pull 《遠端主機名》 《遠端分支名》:《本地分支名》

比如,取回origin主機的next分支,與本地的master分支合併,需要寫成下面這樣。

$ git pull origin next:master

如果遠端分支是與當前分支合併,則冒號後面的部分可以省略。

上面命令表示,取回origin/next分支,再與當前分支合併。實質上,這等同於先做git fetch,再做git merge。

$ git fetch origin

$ git merge origin/next

如果遠端主機刪除了某個分支,預設情況下,git pull 不會在拉取遠端分支的時候,刪除對應的本地分支。這是為了防止,由於其他人操作了遠端主機,導致git pull不知不覺刪除了本地分支。

但是,你可以改變這個行為,加上引數 -p 就會在本地刪除遠端已經刪除的分支。

$ git pull -p

# 等同於下面的命令

$ git fetch --prune origin

$ git fetch -p

git push命令用於將本地分支的更新,推送到遠端主機。它的格式與git pull命令相仿。

$ git push 《遠端主機名》 《本地分支名》:《遠端分支名》
注意,分支推送順序的寫法是《**地》:《目的地》,所以git pull是《遠端分支》:《本地分支》,而git push是《本地分支》:《遠端分支》。

如果省略遠端分支名,則表示將本地分支推送與之存在"追蹤關係"的遠端分支(通常兩者同名),如果該遠端分支不存在,則會被新建。

** 建立分支**

$ git branch test 

切換到分支

$ git checkout test

刪除本地分支

$ git branch -d ***xx

建立分支並切換

$git checkout -b ***

分支的合併

假設有兩個分支 develop 和 master

解決合併衝突

$ git merge issue3

auto-merging myfile.txt

conflict (content): merge conflict in myfile.txt

automatic merge failed; fix conflicts and then commit the result

自動合併失敗。由於在同一行進行了修改,所以產生了衝突。這時myfile.txt的內容如下:

連猴子都懂的git命令

add 把變更錄入到索引中

<<<<<<< head

commit 記錄索引的狀態

*****==

pull 取得遠端資料庫的內容

>>>>>>> issue3

在發生衝突的地方,git生成了內容的差異。請做以下修改

連猴子都懂的git命令

add 把變更錄入到索引中

commit 記錄索引的狀態

pull 取得遠端資料庫的內容

修改衝突的部分,重新提交

$ git add myfile.txt

$ git commit -m "合併issue3分支"

# on branch master

nothing to commit (working directory clean)

git遠端操作

git remote add origin git github.com feicongcong project.git 本地倉庫關聯遠端倉庫 git push u origin master 本地庫的所有內容推送到遠端庫上 分支管理 從dev分支切換到master分支會把dev分支上修改的東西帶過...

Git管理 Git 遠端操作

git使用說明 遠端相關 1,git clone 用於轉殖特定的 庫 git clone 該命令會在本地主機生成乙個目錄 jquery,和遠端主機的版本庫同名。如果指定不同的目錄名,可以將其 目錄名作為git clone命令的第二個引數。git clone myquery 2,git remote ...

git 遠端分支操作

文件 學習筆記,並以gitee.com為例實踐。在gitee.com上建立乙個新倉庫a,勾選建立readme檔案。那麼 倉庫a 建立之後缺省會有乙個名為master的分支。在本地執行 git clone 之後,本地的分支情況如下 建立乙個名為origin的本地倉庫,拉取遠端倉庫a的所有資料及提交。分...