使用Github repo

时间:2017-08-25 13:20:05

标签: github version-control merge pycharm

将Git hub 项目的两个分支与Pycharm合并的正确方法是什么?

假设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分支已被删除。

我的低分辨率解决方案如下:

  • Pycharm:将本地 dev合并到本地 master,删除本地 dev,合并本地 使用远程 master
  • master
  • Github:创建PR,合并分支,删除dev
  • Pycharm:删除远程 dev

现在,如果我在Pycharm中重新绑定到远程master,我会得到正确的合并分支。不幸的是,使用 比较 上下文菜单,Pycharm仍显示远程 master local master没有来自dev的提交。虽然来自远程 master的rebase包含来自dev的所有提交...

可悲的是,还没有用于将分支与Git hub 合并的Pycharm手册(对于正常的git)。有什么想法吗?

1 个答案:

答案 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