假设在Github项目中有一个名为master
的分支,我用Pycharm克隆了repo。之后,我使用Pycharm创建了一个新的分支dev
。然后在Github上正确显示新分支,并对分支进行一些提交。
现在,我想将dev
分支的变化合并到master
分支。
对于普通的git(而不是Github)项目,我会在Pycharm中查看本地master
,单击本地分支中的dev
并选择合并上下文菜单。因此,dev
将被合并到master
,以便可以安全地删除。尽管我将本地master
与远程master
分支合并,但是在Github上没有显示任何更改,并且两个分支仍然存在。
我还试图关闭Pycharm,在Github上做一个pull请求,合并那里的分支并重启Pycharm。不幸的是,Pycharm甚至没有意识到远程dev
分支已被删除。
我的低分解决方案如下:
dev
合并到本地master
,删除本地dev
,合并本地master
与远程master
dev
dev
现在,如果我重新绑定到Pycharm中的远程master
,我会得到正确的合并分支。不幸的是,使用比较上下文菜单,Pycharm仍显示远程master
与本地master
相比没有来自dev
的提交。虽然来自远程master
的rebase包含来自dev
的所有提交...
可悲的是,还没有用于将分支与Github合并的Pycharm手册(对于普通的git而言)。任何的想法?
解决方案是手动推送你的分支合并,因为似乎pycharm不这样做,但它认为它有。
我注意到了同样的问题,似乎并没有从本地副本推送合并。在一个命令shell中,我签出了我的项目的主分支,它告诉我,我领先于在线存储库,所以为了解决这个问题,我发布了git push
命令,然后当我检查github时它已被上传。
(tf36) E:\git\alpha-zero-theputernerd>git checkout master
Already on 'master'
A src/alpha_zero/env/env_inherit_from.py
Your branch is ahead of 'origin/master' by 3 commits.
(use "git push" to publish your local commits)
(tf36) E:\git\alpha-zero-theputernerd>git push
Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/theputernerd/alpha-zero-theputernerd.git
bb60325..37c3c9d master -> master