GitHub를 사용하여 기존 저장소를 추가 할 때 모든 분기를 푸시하려면 어떻게해야합니까?


125

새 GitHub 저장소를 만들었습니다. 기존 저장소를 거기에두고 싶습니다.
나는 지시를 따랐다.

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

이것은 마스터 브랜치를 GitHub로만 푸시합니다.
기존 저장소의 모든 항목 (모든 분기 포함)을 새 GitHub 저장소로 푸시하려면 어떻게해야합니까?


참고 : git push --follow-tagsgit 1.8.3+ (2013 년 5 월)도 있습니다. 참조 아래 내 편집 대답을
VonC

답변:


237

참고 : git push --all은 태그를 푸시하지 않고 브랜치 만 푸시합니다.

git push --all
git push --tags

정말 모든 것을 밀어 붙일 입니다. " 모든 분기를 당기고 밀도록 git 설정 "을 참조하십시오 . 실제로 모든 것을 푸시하기 전에 테스트 할 수
있는 --dry-run옵션을 잊지 마세요 . 오리진을 GitHub 원격 저장소로 설정하려면
GitHub 도움말 " Working with remotes "를 참조하십시오 .


" How to make"git push "include tags within a branch? " 에서 언급했듯이 , git 1.8.3+ (2013 년 5 월)는 다음을 도입했습니다.

git push --follow-tags

이렇게하면 모든 태그가 푸시되지는 않지만 푸시중인 브랜치 HEAD (들)에서 액세스 할 수있는 태그 만 푸시됩니다.

이렇게하면 두 명령 대신 하나의 명령으로 해당 작업 (커밋 태그 푸시 )을 수행 하는 데 도움이 될 수 있습니다 .

Git 2.4.1+ (2015 년 2 분기)에서는 push.followTags.


원본이 아닌 다른 원격으로 푸시하려는 경우 작동하지 않는 것처럼 보이며 현재 분기 만 푸시합니다.
Aloys

git 버전 및 현재 기본 푸시 정책에 따라 달라지는 @Aloys : stackoverflow.com/questions/10002239/…
VonC

원격 분기도 푸시하려면--mirror
BFar

18

받아 들여진 대답이 옳지 않거나 적어도 저에게 효과가 없었습니다. 원격 저장소도 지정해야했습니다. 예 :

git push origin --all

원격 지정은 업스트림이 설정되지 않은 경우에만 필요합니다.
Aross

여러 리모컨이 추가 된 경우 저장소가 필요합니다. ( $git remote -v)
michael

2
로컬 및 원격 지점 간의 추적을 설정하려면 -u를 추가 할 수 있습니다.git push -u origin --all
Drenai
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.