首先上干货:

我想要在非主分支 “dev1” 下创建dev的子分支 “dev1-dev1” (命名随意,我只是为了体现分支的分支这一概念)

(1)创建分支:git checkout -b dev1-dev1;
(2)定位分支:1.选择位置:git checkout dev1(即切换到dev1分支下,选择dev1分支的状态内容);
                            2.拉取目标分支内容:git pull;
按照这种模式,你可以在任意分支(git checkout)的任意位置(版本回滚,但暂时不能提交到云代码仓库)创建新的分支。但是要注意,拉取分支前本地新建的分支目录是空的,或者版本不能比要拉取的分支的版本高
(3)提交分支:1.git add .   2. git push --set-upstream origin dev1-dev1;分支创建成功。

成功后编辑内容提交:git commit -m " "。

就这么简单,是不是还有点头晕。我不知道各位有没有像我之前那样绕不过弯来,觉得所创建的分支都是在主分支下并列的,好像没有分支的分支这一说法。但其实我陷入了误区,创建分支:git checkout -b dev命令并不是已经实际创建了一个类似划分开区域的文件夹,而只是创建了一个类似指针的的头,并且这个“指针”还是悬空的。所以下一步你要给这个悬空“指针”赋值:即切换分支和选择版本,然后实例化,使用这个“指针”:git pull,接着再将所做改变提交到云代码仓库。

简单来说就是你选择某个母分支的个某个节点(不一定是最新节点),然后这个节点克隆代码,基于此节点演化,这个演化分支就是该母分支的子分支。

 

具体操作细节:
首先创建分支,这个分支就像是定义了一个指针,它默认指向本地的代码仓库版本。然后选择你需要的版本,找到其所在的分支,通过该分支的头指针(即该分支线的所有提交版本号),找到你所需要的版本提交码,回滚拉取(git reset --hard 1094a;git pull),就可以了。要注意的是如果本地的版本过高,出现冲突,并且无法解决,可以考虑清除本地仓库,直接克隆你所需要的版本。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐