1

我目前正在从事一个我拥有记者权利(不允许推送等)的项目。不幸的是,我没有创建一个 fork,而是在我的机器上克隆了原始的,现在我正在努力思考如何发布它以获得反馈。

由于我无法推送到原始存储库,我以为我可以创建一个新存储库并更改远程,但在我看来,我将失去与原始存储库的连接并且无法再拉更新更改. 设置不同的推送遥控器和不同的拉遥控器是否足以解决这个问题?

在我的情况下,合理的情况是什么?

4

1 回答 1

1

从原始项目的一个分支开始工作将是最好的策略,因为它可以让您轻松地向它提交 PR(拉取请求)。所以最好还是回到这个经典的贡献设置:

  1. 分叉原始项目

  2. 将此 fork 设置remote为您计算机上的项目(您从原始项目制作的克隆并在其上工作)

cd <path-to-your-local-repository>
git remote add origin <address-of-your-fork>
  1. 获取该 fork 的内容(以获取克隆后在原始项目中所做的更新)
git fetch
  1. 将您获取的内容与本地项目合并
git merge origin/master

请注意,步骤 3 和 4 可以通过以下命令在一个命令中实现:git pull.

  1. 推送到原点(这会将您的本地工作推送到您的 fork)
git push -u origin master

master(如果您在分支上工作,请用您的分支名称替换)。

  1. 将原始项目设置为upstream(以便您可以提取或获取更改以使您的 fork 与原始项目保持同步)
git remote add upstream <address-of-original-project>

现在您可以推送到您的 fork(用于反馈),您可以从原始项目中拉取或获取(以保持最新),并且您可以轻松地将 PR 提交到原始项目。

于 2019-10-20T20:30:48.417 回答