repo新分支

近期在做一个项目的时候,需要在原来代码的基础上创建一个分支,并在新分支上维护开发。
其实repo上创建分支很简单,就是git创建新分支一样,为什么?其实熟悉repo的朋友就会知道,repo只不过是利用git(manifest仓库)来记录管理多个git仓库而已。因此我们利用repo创建一个新的分支,其实就是给repo管理的每个git仓库创建一个一样的新分支。我们知道单个git仓库创建分支的命令很简单。

1.创建一个新分支

git 创建一个分支:

git checkout -b new_branch_name

那么对于repo来说就是对所有的仓库进行创建一个新分支命令如下。

repo forall -c "git checkout -b new_branch_name"

repo forall -c :此命令的意思是遍历所有的git仓库(除了管理的仓库manifest外),并在每个仓库(除了管理的仓库manifest外)执行-c后面所指定的命令,-c也就是所指的是command。如上面就是在每个仓库(除了管理的仓库manifest外)都执行git checkout -b new_branch_name命令,那么这样就可以给每个仓库创建了一个一样的新分支了。

2.推上服务器

上面的创建分支操作只是在本地创建了一个新分支,我们还要推到服务器上。
同样git在本地创建新分支后,推上服务器的命令的如下

git push <远程主机名> <本地分支名>:<远程分支名>

需要注意的是,如果省略本地分支名,则表明的意思是删除远程分支。如下就是相当于删除远程的master分支

git push origin :master

#相等于

git push origin --delete master

如果省略远程分支,就表示远程分支名默认跟本地分支名一样,如果远程分支不存在,则创建一个跟本地分支名一样的远程分支。如下

git push origin local_branch_name

repo把本地分支推上服务器:

repo forall -c "git push origin local_branch_name"

3.把新分支添加到manifest仓库

大家都知道manifest仓库是管理repo下面其他仓库的,因此我们要让repo知道我们创建了新分支,好让同步的时候可以根据分支名来同步分支。

(1)为manifest仓库创建新分支new_branch_name

因为repo forall -c的命令是除了.repo/manifest下的仓库都进行git命令,所以我们还需要在.repo/manifest也创建一个分支.

.repo/manifests$ git checkout -b new_branch_name

(2)并且修改default.xml

<default remote="origin" revision="new_branch_name" sync-j="4"/>

(3)把新分支推上服务器

git add default.xml
git commit -m "add a new branch"
git push origin new_branch_name

4.验证

新建一个文件夹,然后拉取该分支是否成功,成功则OK

repo init -u git@xxxx -b xxxx
repo sync -c
repo forall -c “git checkout -b xxx origin/xxx”
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值