以下是本地回购结构:
developement master
A A
B<--------------B
C (pushed to
D remote/master)
E
F
G
H
(推送到
远程/开发)
我想在本地和主人上使它像下面一样。
developement master
A A
B B
C-------------->C
D-------------->D
E-------------->E
F-------------->F
G-------------->G
H-------------->H
想要将开发分支合并到本地仓库的主分支后丢弃。
谢谢!
回答1
我不确定您是否有两个远程分支,使用下面的解决方案,我想您在一个本地分支“非主”上进行了更改,并且您希望在主分支上进行这些更改。
如果此答案不符合您的需求,请在此处发表评论,我将能够编辑我的解决方案以满足您的需求。
请注意,在合并过程中,您可能会遇到合并冲突,请从新的本地分支中选择新的更改
第 1 步
确保非 master 分支上的所有更改都在本地提交,然后再签出到 master。您可以通过运行此命令来做到这一点
git add .
git commit -m "saved changes on the local branch to be merged into master"
现在签出 master 分支,以便您可以引入新的更改
git checkout master
git merge non-master
git add .
git commit -m "merged non-master into master"
git push
如果要删除本地分支
git branch -d non-master
如果要删除远程分支
git push origin --delete name-of-remote-branch
如果您有第二个远程分支,例如开发,则在本地版本的开发中签出,在 master 上 rebase 开发并将更改推送到远程开发。
这些步骤如下所示
git checkout development
git rebase master
如果您有合并冲突并且您不记得需要保留或删除哪段代码,请中止 rebase 并进行合并
git rebase --abort
git merge master
如果两者之一对您有用,现在将更改推送到您的远程源,一切都应该很好。解决方案不起作用?,回复我,我将能够提供帮助。