[轉]git fetch更新遠程代碼到本地倉庫

http://my.eoe.cn/com360/archive/3533.htmlhtml

 

Git中從遠程的分支獲取最新的版本到本地方式以下,android

  • 方式一

1. 查看遠程倉庫git

1 $ git remote -v
2 eoecn   https://github.com/eoecn/android-app.git (fetch)
3 eoecn   https://github.com/eoecn/android-app.git (push)
4 origin  https://github.com/com360/android-app.git (fetch)
5 origin  https://github.com/com360/android-app.git (push)

從上面的結果能夠看出,遠程倉庫有兩個,一個是eoecn,一個是origingithub

2. 從遠程獲取最新版本到本地安全

1 $ git fetch origin master
2 From https://github.com/com360/android-app
3  * branch            master     -> FETCH_HEAD

$ git fetch origin master 這句的意思是:從遠程的origin倉庫的master分支下載代碼到本地的origin masterapp

3. 比較本地的倉庫和遠程參考的區別fetch

1 $ git log -p master.. origin/master

由於個人本地倉庫和遠程倉庫代碼相同因此沒有其餘任何信息spa

4. 把遠程下載下來的代碼合併到本地倉庫,遠程的和本地的合併code

1 $ git merge origin/master
2 Already up-to-date.

個人本地參考代碼和遠程代碼相同,因此是Already up-to-datehtm

以上的方式有點很差理解,你們能夠使用下面的方式,而且很安全

  • 方式二

1. 查看遠程分支,和上面的第一步相同
2. 從遠程獲取最新版本到本地

1 $ git fetch origin master:temp
2 From https://github.com/com360/android-app
3  * [new branch]      master     -> temp

git fetch origin master:temp 這句命令的意思是:從遠程的origin倉庫的master分支下載到本地並新建一個分支temp

3. 比較本地的倉庫和遠程參考的區別

1 $ git diff temp

命令的意思是:比較master分支和temp分支的不一樣

因爲個人沒有區別就沒有顯示其餘信息
4. 合併temp分支到master分支

1 $ git merge temp
2 Already up-to-date.

因爲沒有區別,因此顯示Already up-to-date.

合併的時候可能會出現衝突,有時間了再把如何處理衝突寫一篇博客補充上。
5. 若是不想要temp分支了,能夠刪除此分支

1 $ git branch -d temp
2 Deleted branch temp (was d6d48cc).


若是該分支沒有合併到主分支會報錯,能夠用如下命令強制刪除git branch -D <分支名>

  • 總結

方式二更好理解,更安全,對於pull也能夠更新代碼到本地,至關於fetch+merge,多人寫做的話不夠安全。

相關文章
相關標籤/搜索