如何克隆GitHub存储库,然后将其作为源推送到新存储库?

时间:2019-11-28 09:21:57

标签: git github

假设您在GitHub上拥有一个框架,并希望使用它来创建其他站点,所以您要:

  • 本地克隆
  • 更改
  • 将其推送到新的存储库

这些是我目前对此的说明:

  • git clone https://github.com/yourname/framework.git newsite
  • cd newsite
  • (进行更改)
  • 在Github上,创建一个名为“ newsite”的新存储库
  • git remote add origin2 https://github.com/yourname/newsite.git
  • git push -u origin2 master

不幸的是,我不得不使用origin2,否则它会返回我原来不想要的原始框架。

但这会导致我在将来的某个时候无意中将其推入原地的问题。

如何使我的新存储库起源?

或者,当您要(1)克隆存储库,但(2)将其推送到其他存储库时,是否还有更简便的方法?

3 个答案:

答案 0 :(得分:2)

如果您想同时更新提取网址和推送网址,请指向同一存储库

git remote set-url origin <new-repo-url>

以下命令会将新存储库设置为默认存储库,仅推送

git remote set-url --push origin <new-repo-url>

如果需要通过上述命令取消推送网址设置

 git remote set-url --delete --push origin <current-push-URL>

答案 1 :(得分:1)

如果从头开始进行适当的克隆,甚至不需要重命名远程服务器。您可以give a different name to the remote

git clone -o upstream https://github.com/yourname/framework.git newsite
cd newsite
# (make changes)
# on Github, create new repository called "newsite"
git remote add origin https://github.com/yourname/newsite.git
git push -u origin master

PS。 upstream是此类初始回购的传统名称。

答案 2 :(得分:0)

如果我是您,我将尝试将原始存储库分叉到我在github上的帐户中。我什至不需要更改remote的值等等。然后在派生的仓库中进行更改。

您可以使用 fork 回购来完成相同的最终结果。

https://help.github.com/en/github/getting-started-with-github/fork-a-repo