用 Pycharm 合并 Github 项目的两个分支的正确方法是什么?
假设 Github 项目中有一个名为 master
的分支,我使用 Pycharm 克隆了该存储库。之后,我使用 Pycharm 创建了一个新分支 dev
。然后,新分支会在 Github 上正确显示,并且会对该分支进行一些提交。
现在,我想将 dev
分支的更改合并到 master
分支。
对于普通的git(不是Github)项目,我会checkout到Pycharm中的本地master
,点击本地分支的dev
,然后选择< em>merge 上下文菜单。结果,dev
将合并到 master
,这样它就可以安全地删除。尽管如此,即使在我合并 local 之后master
和 remote master
分支,Github 上没有显示任何更改,两个分支仍然存在。
我还尝试关闭 Pycharm,在 Github 上执行拉取请求,合并那里的分支并重新启动 Pycharm。不幸的是,Pycharm 甚至没有意识到 remote dev
分支已被删除。
我的解决方案如下:
- Pycharm:合并local
dev
到localmaster
,删除local开发
,合并本地master
与 remotemaster
- Github:创建PR,合并分支,删除
dev
- Pycharm:删除远程
dev
现在,如果我在 Pycharm 中 rebase 到远程 master
,我会得到正确的合并分支。不幸的是,使用 compare 上下文菜单,Pycharm 仍然显示 remote master
与 local master
没有来自 dev
的提交。尽管来自 remote master
的 rebase 包含来自 dev
的所有提交...
遗憾的是,也没有 Pycharm 使用 Github 合并分支的手册(对于普通的 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
关于github - 使用 Github repo 将分支与 Pycharm 合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45882411/