如何将对分叉子模块所做的更改推送到主分支或所有分支?

  • 本文关键字:分支 分叉 模块 git
  • 更新时间 :
  • 英文 :


我正在使用一个分叉的repo作为另一个repo的子模块,我想在不触发拉取请求或类似的东西的情况下将所做的更改推送到该分叉的repo。这听起来很简单,但我犹豫的原因是,当我尝试这样做时,Git要求我输入用户名和密码,尽管我已经设置了ssh密钥,这让我怀疑出了问题。

那么,为了简化:

  • 我有更大的repo A
  • 我有子模块B,我已经从另一个仓库分叉
  • 我想对repo B进行更改,最好是对所有分支进行更改,但不一定
  • 我不希望任何pull请求发生在repo B的原作者身上。我已经分叉了repo B,作为一种方式,在repo a中有一个功能副本作为子模块。我想在repo B中创建分支,以便在脚本中为我使用repo B的每个项目编辑硬编码路径,例如,但这是不必要的。

我也考虑过创建一个分支并推动origin/<branch>而不是origin/master,但是,它再次要求我使用UN/PW,这是我不喜欢的。我不喜欢我可能会意外触发拉请求或以某种方式修改原始的可能性。回购,也就是没有分叉的回购,我不想这么做。任何建议吗?

当我尝试这样做时,Git要求我输入用户名和密码尽管我已经设置了ssh密钥,

检查本地分支克隆中的远程存储库URL:

cd /path/to/local/clone
git remote -v

如果您看到https://,切换到SSH:

git remote set-url git@github.com:<me>/<myfork>

在这两个实例中,将一个分支推到一个分支并不会触发一个PR。

您可以使用gh pr create直接从本地提示符创建PR。

注意:如果本地分支克隆是父项目的子模块,那么您还需要更新父项目中的子模块URL:

cd /path/to/parent/repo
git submodule set-url [--] <path> <newurl>

最新更新