我目前正在从事一个我拥有记者权利(不允许推送等)的项目。不幸的是,我没有创建一个 fork,而是在我的机器上克隆了原始的,现在我正在努力思考如何发布它以获得反馈。
由于我无法推送到原始存储库,我以为我可以创建一个新存储库并更改远程,但在我看来,我将失去与原始存储库的连接并且无法再拉更新更改. 设置不同的推送遥控器和不同的拉遥控器是否足以解决这个问题?
在我的情况下,合理的情况是什么?
我目前正在从事一个我拥有记者权利(不允许推送等)的项目。不幸的是,我没有创建一个 fork,而是在我的机器上克隆了原始的,现在我正在努力思考如何发布它以获得反馈。
由于我无法推送到原始存储库,我以为我可以创建一个新存储库并更改远程,但在我看来,我将失去与原始存储库的连接并且无法再拉更新更改. 设置不同的推送遥控器和不同的拉遥控器是否足以解决这个问题?
在我的情况下,合理的情况是什么?
从原始项目的一个分支开始工作将是最好的策略,因为它可以让您轻松地向它提交 PR(拉取请求)。所以最好还是回到这个经典的贡献设置:
分叉原始项目
将此 fork 设置remote
为您计算机上的项目(您从原始项目制作的克隆并在其上工作)
cd <path-to-your-local-repository>
git remote add origin <address-of-your-fork>
git fetch
git merge origin/master
请注意,步骤 3 和 4 可以通过以下命令在一个命令中实现:git pull
.
git push -u origin master
master
(如果您在分支上工作,请用您的分支名称替换)。
upstream
(以便您可以提取或获取更改以使您的 fork 与原始项目保持同步)git remote add upstream <address-of-original-project>
现在您可以推送到您的 fork(用于反馈),您可以从原始项目中拉取或获取(以保持最新),并且您可以轻松地将 PR 提交到原始项目。