使用 GitHub,在添加现有回购时如何推动所有分支?

我创建了一个新的 GitHub 回购——我想把我现有的回购放在那里。
我按照指示做了:

cd existing_git_repo
git remote add origin git@github.com:acme-org/myprj.git
git push origin master

这只会将主分支推送到 GitHub。
如何将现有回购中的所有内容(包括所有分支)推送到新的 GitHub 回购中?

64396 次浏览

注意: git push ——所有都不会推送您的标记,只会推送您的分支。

git push --all
git push --tags

将真正推动 一切。参见“ 设置 git 来拉动和推动所有分支”。
不要忘记 --dry-run选项,在实际推动一切之前进行一些测试。
另请参阅 GitHub 帮助“ 使用遥控器”将您的原点设置为 GitHub 远程回购。


正如在“ 如何使“ git push”在分支中包含标记?”中提到的,git 1.8.3 + (2013年5月)介绍:

git push --follow-tags

这不会推送所有的标记,但是只能推送从您正在推送的分支(es) HEAD (s)可访问的标记。

这有助于使用 命令而不是两个命令来完成该操作(推送提交 还有标记)。

Git 2.4.1 + (2015年第二季度)将引入 push.followTags选项。

公认的答案并不完全正确,至少对我来说不起作用。我还需要指定远程回购,例如:

git push origin --all