假设我在git.fedorahosted.org上有一个存储库,我想将其克隆到我在github的帐户中,以拥有自己的游乐场,而不是在fedorahosted上更“官方”的回购。 最初复制的步骤是什么? 在github中有一个漂亮的“fork”按钮,但我不能使用这个明显的原因。
我如何跟踪fedorahosting回购到github的变化?
假设我在git.fedorahosted.org上有一个存储库,我想将其克隆到我在github的帐户中,以拥有自己的游乐场,而不是在fedorahosted上更“官方”的回购。 最初复制的步骤是什么? 在github中有一个漂亮的“fork”按钮,但我不能使用这个明显的原因。
我如何跟踪fedorahosting回购到github的变化?
当前回答
用下面的命令改变GIT的repo URL,简单地指向新的repo:
git remote set-url origin [new repo URL]
例如:git remote set-url origin git@bitbucket.org:Batman/batmanRepoName.git
现在,推和拉与新的回购挂钩。
然后像这样正常地推:
git push -u origin master
其他回答
试试这个如何移动一个完整的Git存储库
Create a local repository in the temp-dir directory using: git clone temp-dir Go into the temp-dir directory. To see a list of the different branches in ORI do: git branch -a Checkout all the branches that you want to copy from ORI to NEW using: git checkout branch-name Now fetch all the tags from ORI using: git fetch --tags Before doing the next step make sure to check your local tags and branches using the following commands: git tag git branch -a Now clear the link to the ORI repository with the following command: git remote rm origin Now link your local repository to your newly created NEW repository using the following command: git remote add origin <url to NEW repo> Now push all your branches and tags with these commands: git push origin --all git push --tags You now have a full copy from your ORI repo.
我做到这一点的方法是:
在github上创建一个新的repo (new-repo.git) CD old-repo/在本地机器上获取所有新的更改 Git push -u https://github.com/[username]/new-repo.git main -f 将新的远程repo https://github.com/[username]/new-repo.git克隆到本地环境
我发现这是一个简单的方法,基本上复制一个旧的远程回购到一个新的远程回购。
这是帮助我推动我的本地项目到一个不同的回购git
git push https://github.com/yourusername/yourgithubproject.git master:master
您真的想简单地将本地存储库(及其本地分支等)推到新的远程,还是真的想在新的远程上镜像旧的远程(及其所有分支、标记等)?如果是后者,这里有一个关于如何正确镜像git存储库的很棒的博客。
我强烈建议你阅读这篇博客,了解一些非常重要的细节,但简短的版本是这样的:
在一个新目录下运行这些命令:
git clone --mirror git@example.com/upstream-repository.git
cd upstream-repository.git
git push --mirror git@example.com/new-location.git
如果你有现有Git存储库:
cd existing_repo
git remote rename origin old-origin
git remote add origin https://gitlab.com/newproject
git push -u origin --all
git push -u origin --tags