git合並遠端分支到本地分支的兩種方式


  作者:zhanhailiang 日期:2014-11-21

在使用版本號工具提交改動之前,都須要通過update先將本地代碼更新到最新版本號。SVN通過svn update就能夠實現,那么git怎樣實現呢?

1. 首先通過從遠程的origin的master主分支下載最新的版本號到本地origin/master分支上,然后比較差別,最后合並到當前分支;

[root@~/wade/nodejs/express-routing]# git fetch git@github.com:billfeller/express-routing.git master
From github.com:billfeller/express-routing
 * branch            master     -> FETCH_HEAD
[root@~/wade/nodejs/express-routing]# git log 
commit c7f2ae18cd3648d32fa3dcd50060fa7f13a093b1
Author: billfeller <billfeller@gmail.com>
Date:   Fri Nov 21 01:41:40 2014 +0800
 
    express-routing test
 
commit dd5923229abe4e1da706ce53ad4b41154cb89ea7
Author: billfeller <billfeller@gmail.com>
Date:   Fri Nov 21 01:07:03 2014 +0800
 
    Merge branch 'master', remote branch 'origin'
 
commit d1aee713ca98e5cdead1978dcfcf7a55974a2851
Author: billfeller <billfeller@users.noreply.github.com>
Date:   Fri Nov 21 01:05:12 2014 +0800
 
    Create README.md
 
commit 5aa66ffc06b95aeb8ef42627fe4b97c95cb660b9
Author: billfeller <billfeller@users.noreply.github.com>
Date:   Fri Nov 21 01:03:05 2014 +0800
 
    Initial commit
[root@~/wade/nodejs/express-routing]# git merge origin/master
Updating c7f2ae1..8d3058b
Fast-forward
 README.md |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

2. 通過git pull一步到位,相當於是從遠程獲取最新版本號並merge到本地,即第一種方法的快捷命令。

[root@~/wade/nodejs/express-routing]# git pull
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From github.com:billfeller/express-routing
   8d3058b..82a02eb  master     -> origin/master
Updating 8d3058b..82a02eb
Fast-forward
 README.md |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

在實際開發中,還是推薦使用第一種方式,由於git fetch更安全一些,能夠通過git fetch后查看更新情況,再決定是否進行合並。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM