最近在使用 Git 的过程中,需要将本地的分支 B 关联到远程的分支 A,但是我本地分支 B 代码提交的时候只能提交到远程分支 B (远程分支 A 没写入权限),但是我要能及时的拉取到别人对远程分支 A 的更改 ,大概就是这么个意思。接下来记录一下 git 环境中如何查看本地分支与远程分支的映射,如何解除本地分支与远程分支的映射 以及 如何将本地分支关联到远程的目标分支。
1、查看本地分支与远程分支的映射关系
执行如下命令:
git branch -vv
注意是两个
v
.
比如下面的结果:
huangyong@bogon hyblogs % git branch -vv
* feature/test/hyblogs-v1 4bbf79f3 [origin/feature/test/hyblogs-v1] test测试。
可以看到我的本地分支
feature/test/hyblogs-v1
映射的远程分支是同名的
origin/feature/test/hyblogs-v1
,但是现在我需要将我本地分支映射到远程的
origin/feature/test/hyblogs
分支。
2、撤销本地分支与远程分支的映射关系
基于上面的需求,我需要将本地分支与远程分支的映射关系给解除,方能创建新的映射关系。
执行如下命令解除关联:
git branch --unset-upstream
无报错则表示执行成功了,接下来再查看本地分支与远程分支映射关系(执行上面的
git branch -vv
命令)。
如下我本地的执行结果:
huangyong@bogon hyblogs % git branch --unset-upstream
huangyong@bogon hyblogs % git branch -vv
* feature/test/hyblogs-v1 4bbf79f3 test测试。
可以看到本地分支与远程分支的映射关系已经撤销。接下拉我就可以将本地分支重新映射到远程的目标分支了。
3、建立当前本地分支与远程分支的映射关系
执行如下命令:
git branch -u origin/feature/test/hyblogs
这里的
origin/feature/test/hyblogs
就是你要映射的远程分支完整路径名称。
或者使用命令:
git branch --set-upstream-to origin/your-branch-name
比如我本地的执行结果:
huangyong@bogon hyblogs % git branch --set-upstream-to origin/feature/test/hyblogs
Branch 'feature/test/hyblogs-v1'set up to track remote branch 'feature/test/hyblogs' from 'origin'.
huangyong@bogon hyblogs % git branch -vv
* feature/test/hyblogs-v1 4bbf79f3 [origin/feature/test/hyblogs: ahead 1, behind 28] test测试。
我按照我的需求将我本地的
feature/test/hyblogs-v1
分支映射到了远程分支
origin/feature/test/hyblogs
分支。
按照这套流程,我更换了我本地分支映射的远程分支!又可以愉快的玩耍(PS:搬砖🧱)了~~~
4、其他
⚠️重要说明:本地分支可以与远程不同名分支建立映射关系!!!
在 idea 中,提交代码的时候我们可以指定远程分支进行提交,不一定是用默认分支进行提交。
远程分支之间可以通过 PR (Pull Requests) 的形式进行合并,这样可以进行线上化 Code Review,及时发现代码问题。
~好了~今天的记录就到这里了哦,期待下一次记录吧~
版权归原作者 在Java的肩膀上 所有, 如有侵权,请联系我们删除。