我在Bitbuket上有一个存储库,有两个分支:
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/ng-1
master
包含旧工具代码,ng-1
- 新。
我想要做的是 - 将master
切换为ng-1
,这样当git pull
执行时 - 它会从"master"
中提取代码 - 但是会使用新代码。< / p>
让我们说 - 我想要&#34;移动&#34;代码从master
到ng-1
- 以及ng-1
到master
。
当我用Google搜索时 - 可以通过以下方式完成:
$ git update-ref HEAD ng-1
因此 - &#34;主要默认&#34;分支将成为ng-1
,master
将保存为我的&#34;备份&#34;。
如果出现问题 - 我可以反过来做:
$ git update-ref HEAD master
我说错了吗?
答案 0 :(得分:1)
我想做的是 - 将主人转换为ng-1
// Checkout the new branch
git checkout ng-1
...当执行git pull时 - 它会从&#34; master&#34;中提取代码 - 但是新代码
// Pull "old" changes - if ng-1 is forked from master no update should be pulled
git pull origin master
// Now you ng-1 contains the "new" code as well.
答案 1 :(得分:1)
在这里找到答案:
https://stackoverflow.com/a/2862938/2720802
$ git fetch && git checkout ng-1
$ git branch
master
* ng-1
$ git merge -s ours master
Already up-to-date.
$ git checkout master
$ git merge ng-1
Already up-to-date.
$ git branch
* master
ng-1
$ git add -A
$ git commit -m "Merged"
$ git push origin
似乎一切都已完成。
答案 2 :(得分:0)
我要看看使用SourceTree,这个GUI可以帮助您想象您想要做什么以及由BitBucket做同样的人做的。
明智地回答代码向导所说的将通过它的声音做你所追求的事情。