关于git切换分支的几个问题
来源:1-7 二期项目初始化
Echo鑫
2017-11-27
由于Git基础有点薄弱,有些问题没弄清楚,可能问得有点小白,但还是想问下:
1. git checkout -b v2.0 origin/v1.0 是不是基于远程分支v1.0的基础上创建分支v2.0,并切换过去?
2. 假若单独的git checkout -b v2.0 是不是就是在当前所在的本地分支的基础上创建v2.0,并切换过去?
3. 若是这样的话,若本地没有远程v1.0分支的代码,git checkout -b v2.0 origin/v1.0 这命令是不是现在本地创建V2.0分支,再对远程仓库分支v1.0里的代码进行一次拉取?
4. 假若我在本地拉取一个项目的V1.0分支上的代码,现在我想拉取这项目另一个分支的代码,老师你们一般是怎么操作的?
3回答
-
你好,同学
是的
是的,如果不指定的话,就是当前的本地分支版本
首先origin就指定了是远程分支哟,所以判断的是远程分支,不是本地分支。不会拉取
重新创建一个文件夹,重新clone,然后切换分支。
042017-12-02 -
Echo鑫
提问者
2017-11-30
这是我对另一个master没代码的项目进行拉取,master就两个文件,先git clone, 自动切换到了master分支
从结果可以看出,证明了上述的观点,git checkout -b v2.0 origin/v1.0, 会对远程的代码进行拉取,但拉取过程不可见。
接下来我又换了种方式,执行 git checkout -b v2.0 origin mall_v1.0, 出现了错误。
于是我先在本地创建分支V2.0 然后 git pull origin mall_v1.0,也成功把V1.0 的代码拉到了本地新建分支v2.0上。
问题:
证明了我的理解,git checkout -b v2.0 origin/v1.0 会对远程代码进行拉取,但这个拉取是不可见的,跟git pull 有区别,但不知道为什么
git checkout -b v2.0 origin/v1.0 与git checkout -b v2.0 origin v1.0 的区别是什么
为什么git 切换不同分支,代码也会同步发生变化,比如切到master上的代码是A,切回到分支v1.0后,代码就同步成了B,这是什么原理,另个分支的代码是存在哪里不可见的。
012017-12-02 -
Echo鑫
提问者
2017-11-30
这是我对master 先拉取,这项目master和v1.0的差别就在于init.sql文件,我正常先git clone这个代码,拉取到了master分支,然后就直接执行git checkout -b v2.0 origin/v1.0 这个sql文件自动同步下来了,没有拉取过程,换回master,则个文件就消失了,接下来我又对master上面没代码的项目做了个测试。
00
相似问题