Git:在处理该项目的克隆后创建项目的分支

Git: create fork of project after having worked on a clone of that project

我目前正在做一个项目,我在其中拥有报告权(不允许推送等)。不幸的是,我没有创建一个分支,而是在我的机器上克隆了原来的分支,现在我正在为如何发布它以获得反馈而苦苦思索。

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

在我的案例中,应该遵循的合理方案是什么?

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

  1. 复刻原始项目

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

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

请注意,第 3 步和第 4 步可以通过一个命令完成:git pull

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

(如果您在分支机构工作,请将 master 替换为您分支机构的名称)。

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

现在你可以推送到你的分支(反馈),你可以从原始项目中拉取或获取(保持最新),你可以轻松地向原始项目提交 PR。