Git 常用命令

Git分支管理技巧
本文详细介绍了如何使用Git从远程仓库拉取分支并创建本地分支的两种方法,包括使用git checkout和git fetch命令的区别,以及FETCH_HEAD和commit-id的概念。同时,对比了git fetch和git pull在合并远程更新时的安全性和流程差异。

1、拉取远程分支并创建本地分支

方法一
使用如下命令:

git checkout -b 本地分支名x origin/远程分支名x

使用该方式会在本地新建分支x,并自动切换到该本地分支x。

采用此种方法建立的本地分支会和远程分支建立映射关系。

方式二
使用如下命令:

git fetch origin 远程分支名x:本地分支名x

使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动checkout。

采用此种方法建立的本地分支不会和远程分支建立映射关系。
------------------------------------------分割线------------------------------------------

FETCH_HEAD: 是一个版本链接,记录在本地的.git/FETCH_HEAD文件中,指向着目前已经从远程仓库取下来的分支的末端版本。

commit-id:在每次本地工作完成后,都会做一个git commit 操作来保存当前工作到本地的repo, 此时会产生一个commit-id,这是一个能唯一标识一个版本的序列号。 在使用git push后,这个序列号还会同步到远程仓库。

git fetch:相当于是从远程获取最新版本到本地,不会自动merge

git fetch origin master
git log -p master..origin/master
git merge origin/master

以上命令的含义:

  • 首先从远程的origin的master主分支下载最新的版本到origin/master分支上

  • 然后比较本地的master分支和origin/master分支的差别

  • 最后进行合并

  • 上述过程其实可以用以下更清晰的方式来进行:

    git fetch origin master:temp
    git diff temp 
    git merge temp

    从远程获取最新的版本到本地的temp分支上, 之后再进行比较合并

  1. git pull:相当于是从远程获取最新版本并merge到本地
git pull origin master

总结:上述命令其实相当于git fetch 和 git merge在实际使用中,git fetch更安全一些因为在merge前,我们可以查看更新情况,然后再决定是否合并

转载于:https://www.cnblogs.com/QianDingwei/p/10846715.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值