Git:改变HEAD

我在Bitbuket上有两个分支的存储库:

 $ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/ng-1

master包含旧的工具代码,而ng-1 - new。

我想要做的是 - 将master切换到ng-1以便在执行git pull时 - 它将从"master"提取代码 - 但是使用新代码。

比方说 - 我想要将代码从master移动到ng-1 - 并且从ng-1master

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

$ git update-ref HEAD ng-1

因此 - “主要默认”分支将成为ng-1master将被保存为我的“备份”。

如果出现问题 - 我可以反之亦然:

$ git update-ref HEAD master

我对么?


我想要做的 - 是将主控切换到ng-1

// Checkout the new branch
git checkout ng-1

...当执行git pull时 - 它将从“主”中提取代码 - 但是会使用新代码

// 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.

在这里找到答案:

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

似乎一切都完成了。


我会看看使用SourceTree,一个GUI,它可以帮助你可视化你想做什么,它是由做BitBucket的人做的。

明智地回答一下codeWizard所说的将通过它的声音来做你所追求的。

链接地址: http://www.djcxy.com/p/94811.html

上一篇: Git: change HEAD

下一篇: fix conflicts for git merge branch to master