github - 使用 Github repo 将分支与 Pycharm 合并

标签 github version-control merge pycharm

用 Pycharm 合并 Github 项目的两个分支的正确方法是什么?

假设 Github 项目中有一个名为 master 的分支,我使用 Pycharm 克隆了该存储库。之后,我使用 Pycharm 创建了一个新分支 dev。然后,新分支会在 Github 上正确显示,并且会对该分支进行一些提交。


现在,我想将 dev 分支的更改合并到 master 分支。

对于普通的git(不是Github)项目,我会checkout到Pycharm中的本地master,点击本地分支的dev,然后选择< em>merge 上下文菜单。结果,dev 将合并到 master,这样它就可以安全地删除。尽管如此,即使在我合并 local 之后masterremote master 分支,Github 上没有显示任何更改,两个分支仍然存在。

我还尝试关闭 Pycharm,在 Github 上执行拉取请求,合并那里的分支并重新启动 Pycharm。不幸的是,Pycharm 甚至没有意识到 remote dev 分支已被删除。


我的解决方案如下:

  • Pycharm:合并local devlocal master,删除local 开发,合并本地 masterremote master
  • 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/

相关文章:

deployment - 使用 Ansible 将单个文件从私有(private) github 存储库下载到远程主机

github - 如何在GitHub中查看行注释?

git - VSCode : What is the best way to commit a list of extensions to be used by VSCode in a project?

version-control - 何时在发布管理周期中增加版本号

c - 合并字符串 C 中的字符排序

version-control - Mercurial 随机添加 60 多个 merge

git - 对象未正确排序

macos - 与 SSH 相关的“输入身份验证器的 PIN”问题

linux - Linux 镜像的版本控制/配置管理

在 C 中将字符数组集中到单个字符数组中