克隆来自其他人的Github的回购并将其推送到我的Github上的回购

时间:2013-08-13 03:36:01

标签: git github

我在https://github.com/railstutorial/sample_app_rails_4克隆了回购并对其进行了很多更改(我用它作为我自己的应用程序的起点),现在我想将更改的应用程序推送到我的回购拥有github帐户。

如何更改链接到的github repo?

8 个答案:

答案 0 :(得分:91)

正如Deefour所说,你的情况与Change the URI (URL) for a remote Git repository中的情况差别不大。当您clone存储库时,它会以remote的名称origin添加为您的origin。您现在需要做的是(因为您不再使用旧源)是更改$ git remote set-url origin http://github.com/YOU/YOUR_REPO 的网址:

origin

如果原始存储库经常更新并且您希望不时获取这些更新,那么最好添加新的remote

而不是编辑$ git remote add personal http://github.com/YOU/YOUR_REPO
upstream

或者甚至可以拨打旧的$ git remote rename origin upstream $ git remote add origin http://github.com/YOU/YOUR_REPO

upstream

然后,只要您想从$ git fetch upstream 获得更改,就可以执行以下操作:

{{1}}

由于这个源代码是一个示例存储库(似乎是一种可以开始使用的模板),我认为不需要保留它或者根本不需要它 - 我会在这里选择第一个替代方案

答案 1 :(得分:33)

GitHub:git clone其他人的存储库& git push到您自己的存储库

我将 其他人的 存储库称为 其他存储库

  1. github.com创建新的存储库。(这是您的存储库

    • 为其指定与其他存储库相同的名称。
    • 请勿使用README,.gitignore或许可证对其进行初始化。
  2. 其他存储库克隆到本地计算机。(如果您尚未这样做)

    • git clone https://github.com/other-account/other-repository.git
  3. 将本地存储库的当前“ origin ”重命名为“上游”。

    • git remote rename origin upstream
  4. 为本地存储库提供指向您的存储库的“ origin ”。

    • git remote add origin https://github.com/your-account/your-repository.git
  5. 将本地存储库推送到github上的您的存储库

    • git push origin master
  6. 现在' origin '指向您的存储库& '上游'指向其他存储库

    • 使用git checkout -b my-feature-branch为您的更改创建新分支。
    • 您可以像往常一样git commit 您的存储库
    • 使用git pull upstream master将更改从其他存储库提取到主分支。

答案 2 :(得分:7)

您可以通过从本地存储库创建新远程(通过命令行)来完成此操作。

git remote add <name> <url>

然后你可以打电话:

git push <name> <repo_name>

要替换设置的默认“origin”遥控器,您可以运行以下命令:

git remote rm origin
git remote add origin <url>

答案 3 :(得分:7)

删除git并重新初始化。

你的目的可能就是把这个回购物放在你的上面,并把它变成你的。

我们的想法是删除.git/并重新初始化。

  1. 转到克隆的repo文件夹 rm -rf .git
  2. 重新初始化它,然后添加遥控器并进行第一次推送。
    git init
    git add .
    git commit -m "your commit message"
    git remote add origin 
    git push origin master
    

答案 4 :(得分:6)

我认为这样做的“最礼貌的方式”是:

  1. 将您的GitHub帐户上的原始仓库分开
  2. 为您的更改git checkout -b <your_branch_name>签出新分支(如果您之前没有这样做)
  3. 为本地存储库添加新的远程:git remote add github <your_repository_ssh_url>
  4. 将您漂亮的新分支推送到您的github存储库:git push github <your_branch_name>
  5. 通过这种方式,您将拥有一个分支到原始仓库的仓库,您的更改将在一个单独的分支中提交。如果您想要向原始仓库提交拉取请求,这种方式会更容易。

答案 5 :(得分:0)

取自Git push everything to new origin

基本上你必须将新的回购与你的文件夹相关联

git remote add origin <address>
git push origin <branchname>

答案 6 :(得分:0)

我有类似的情况,但在我的情况下,我需要做的就是建议,但是使用 https ,就像这样:

$ git remote set-url origin https://github.com/YOU/YOUR_REPO

答案 7 :(得分:0)

克隆后,将文件从其文件夹复制到一个新文件夹,然后重新开始 git init,

我遇到了类似的问题,例如,我必须先更改文件夹目录,然后才能将更改转移到我的仓库中。

或者您可以通过以下命令删除当前存储库来源 git remote remove origin。