如何将提取的结果合并到母版中?
How to merge the result of a fetch into the master?
我刚刚通过执行
完成了 "cherry picking"
git fetch ssh://myname@something1 something2 && git checkout FETCH_HEAD
执行git branch
后(查看我在哪个分支),我看到我在一个名字奇怪的分支:(HEAD detached at FETCH_HEAD)
:
* (HEAD detached at FETCH_HEAD)
master
当我通过执行 git checkout master
进入 master 时,这个 "strange" 分支消失了,据我所知,我从远程存储库 "cherry picked" 所做的更改也消失了(因为它们在 "branch" 中已经消失了)。
所以,我的问题是:如何将奇怪的 "branch" 合并到 master 中,以便该分支中的更改不会消失?
从 FETCH_HEAD
:
创建一个新分支(比如 b1
)
$ git fetch ssh://myname@something1 something2 && git checkout -b b1 FETCH_HEAD
将b1
分支推送到远程,然后创建Pull请求或直接将b1
拉入master
。
$ git push origin b1
将b1
分支拉入master
分支:
$ git checkout master
$ git pull origin b1
备选方案: 如果您只想将远程仓库更改为本地 master
分支,则:
$ git fetch ssh://myname@something1 something2 && git checkout FETCH_HEAD
$ git checkout -b b1 # create b1 branch from FETCH_HEAD
$ git checkout master # checkout to master
$ git merge b1 # merge b1 branch into master
我刚刚通过执行
完成了 "cherry picking"git fetch ssh://myname@something1 something2 && git checkout FETCH_HEAD
执行git branch
后(查看我在哪个分支),我看到我在一个名字奇怪的分支:(HEAD detached at FETCH_HEAD)
:
* (HEAD detached at FETCH_HEAD)
master
当我通过执行 git checkout master
进入 master 时,这个 "strange" 分支消失了,据我所知,我从远程存储库 "cherry picked" 所做的更改也消失了(因为它们在 "branch" 中已经消失了)。
所以,我的问题是:如何将奇怪的 "branch" 合并到 master 中,以便该分支中的更改不会消失?
从 FETCH_HEAD
:
b1
)
$ git fetch ssh://myname@something1 something2 && git checkout -b b1 FETCH_HEAD
将b1
分支推送到远程,然后创建Pull请求或直接将b1
拉入master
。
$ git push origin b1
将b1
分支拉入master
分支:
$ git checkout master
$ git pull origin b1
备选方案: 如果您只想将远程仓库更改为本地 master
分支,则:
$ git fetch ssh://myname@something1 something2 && git checkout FETCH_HEAD
$ git checkout -b b1 # create b1 branch from FETCH_HEAD
$ git checkout master # checkout to master
$ git merge b1 # merge b1 branch into master