假设我在git.fedorahosted.org上有一个存储库,我想将其克隆到我在github的帐户中,以拥有自己的游乐场,而不是在fedorahosted上更“官方”的回购。 最初复制的步骤是什么? 在github中有一个漂亮的“fork”按钮,但我不能使用这个明显的原因。
我如何跟踪fedorahosting回购到github的变化?
假设我在git.fedorahosted.org上有一个存储库,我想将其克隆到我在github的帐户中,以拥有自己的游乐场,而不是在fedorahosted上更“官方”的回购。 最初复制的步骤是什么? 在github中有一个漂亮的“fork”按钮,但我不能使用这个明显的原因。
我如何跟踪fedorahosting回购到github的变化?
当前回答
试试这个如何移动一个完整的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.
其他回答
这个问题的答案已经被删除了,但有一个有用的链接:https://help.github.com/articles/duplicating-a-repository
重点是
0. create the new empty repository (say, on github)
1. make a bare clone of the repository in some temporary location
2. change to the temporary location
3. perform a mirror-push to the new repository
4. change to another location and delete the temporary location
OP的例子:
在本地机器上
$ cd $HOME
$ git clone --bare https://git.fedorahosted.org/the/path/to/my_repo.git
$ cd my_repo.git
$ git push --mirror https://github.com/my_username/my_repo.git
$ cd ..
$ rm -rf my_repo.git
在github创建一个新的回购。 将repo从fedorahosted复制到本地机器。 Git远程重命名上游源 git远程添加源URL_TO_GITHUB_REPO Git push origin master
现在你可以使用它就像任何其他github回购。要从上游导入补丁,只需运行git pull upstream master && git push origin master。
这是帮助我推动我的本地项目到一个不同的回购git
git push https://github.com/yourusername/yourgithubproject.git master:master
我也遇到过同样的问题。
在我的例子中,由于我在本地机器中有原始的存储库,所以我在一个新文件夹中创建了一个副本,没有任何隐藏文件(。git, .gitignore)。
最后,我将.gitignore文件添加到新创建的文件夹中。
然后,我已经从本地路径创建并添加了新的存储库(在我的情况下使用GitHub Desktop)。
用下面的命令改变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