假设Github项目中有一个名为master
的分支,我用Pycharm克隆了回购。之后,我使用Pycharm创建一个新的分支dev
。然后在Github上正确显示新分支,并对分支进行一些提交。
现在,我想将dev
分支的更改合并到master
分支。
对于普通的git(不是Github)项目,我会在Pycharm中结帐到本地master
,点击本地分支中的dev
并选择 merge 上下文菜单。因此,dev
将合并到master
,以便可以安全删除。尽管我将本地 master
与远程 master
分支,Github上没有显示任何更改,两个分支仍然存在。
我还试图关闭Pycharm,在Github上做一个pull请求,合并那里的分支并重启Pycharm。不幸的是,Pycharm甚至没有意识到远程 dev
分支已被删除。
我的低分辨率解决方案如下:
dev
合并到本地 master
,删除本地 dev
,合并本地
使用远程 master
master
dev
dev
现在,如果我在Pycharm中重新绑定到远程master
,我会得到正确的合并分支。不幸的是,使用 比较 上下文菜单,Pycharm仍显示远程 master
与 local master
没有来自dev
的提交。虽然来自远程 master
的rebase包含来自dev
的所有提交...
可悲的是,还没有用于将分支与Git hub 合并的Pycharm手册(对于正常的git)。有什么想法吗?
答案 0 :(得分:1)
解决方案是手动推送你的分支合并,因为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