Git:改变HEAD

时间:2015-09-30 07:39:12

标签: git branch bitbucket

我在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;代码从masterng-1 - 以及ng-1master

当我用Google搜索时 - 可以通过以下方式完成:

$ git update-ref HEAD ng-1

因此 - &#34;主要默认&#34;分支将成为ng-1master将保存为我的&#34;备份&#34;。

如果出现问题 - 我可以反过来做:

$ git update-ref HEAD master

我说错了吗?

3 个答案:

答案 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做同样的人做的。

明智地回答代码向导所说的将通过它的声音做你所追求的事情。