로컬 브랜치를 GitHub로 푸시


117

을 실행할 때 git push변경 사항을 내 GitHub 저장소에 푸시 하도록 Git을 구성 했습니다. 지금까지는 마스터 브랜치 만있었습니다.

그러나 이제 로컬 브랜치를 만들고 다음을 사용하여 커밋했습니다.

git checkout -b my_new_branch
git commit

지금하고 싶은 것은이 분기의 변경 사항을 GitHub에 푸시하는 것입니다. 그냥 git push 만하나요?

처음 설정할 때 다음을 실행했습니다.

git config push.default current

질문이 정확히 무엇입니까? push.default그런 식으로 설정 하면 예, git push현재 브랜치를 원본 인 github 리포지토리로 푸시하고 거기에서 복제했다고 가정합니다. ( branch.my_new_branch.remote원하는 경우 다른 리모컨을 지정할 수 있습니다.) 그래서 이것을 시도했지만 작동하지 않았습니까?
Cascabel 2011 년

1
모든 해당 지역의 지점이 같은 원격 지사에 밀어하려면 명시 : 자식 푸시 원산지 HEAD : remote_branch
Ustaman 산갓

답변:


221

git push origin my_new_branch원본 원격이 github 저장소에 도달하도록 구성되어 있다고 가정하고을 찾고 있다고 생각 합니다.


git push <remote> <branch> as per atlassian.com/git/tutorials/syncing/git-push
vikramvi

3
그런 다음 다른 사람들과 함께이 지점에서 작업하고 git pull을 수행하려면 새 지점에 대한 추적 정보를 설정해야합니다. git branch --set-upstream-to=origin/my_new_branch my_new_branch
gloriphobia

9

로컬 git 설정에 따라 복제 한 브랜치가 아닌 브랜치 또는 푸시하려는 위치에 존재하는 브랜치를 체크 아웃 한 경우 git은 로컬 브랜치를 푸시하지 않습니다.

제공하는 메시지는 다음과 같습니다.

경고 : push.default가 설정되지 않았습니다. Git 2.0에서 암시 적 값이 '일치'에서 '단순'으로 변경되었습니다. 이 메시지를 억제하고 전통적인 동작을 유지하려면 다음을 사용하십시오.

git config --global push.default matching

이 메시지를 억제하고 지금 새로운 동작을 채택하려면 다음을 사용하십시오.

git config --global push.default 단순

push.default가 '일치'로 설정되면 git은 이미 동일한 이름을 가진 원격 분기로 로컬 분기를 푸시합니다.

Git 2.0부터 Git은 기본적으로 'git pull'이 현재 분기를 업데이트하는 데 사용하는 해당 원격 분기로 현재 분기를 푸시하는보다 보수적 인 '간단한'동작을 사용합니다.

자세한 내용은 'git help config'를 참조하고 'push.default'를 검색하십시오. ( 'simple'모드는 Git 1.7.11에서 도입되었습니다. 가끔 이전 버전의 Git을 사용하는 경우 'simple'대신 유사한 모드 'current'를 사용하십시오.

치명적 : 현재 분기 MyLocalBranch에 업스트림 분기가 없습니다. 현재 분기를 푸시하고 원격을 업스트림으로 설정하려면

git push --set-upstream origin MyLocalBranch

0

정말 게으르다면 간단히 사용하여 모든 로컬 브랜치푸시 할 수 있습니다.

git push --all

--모두

모든 분기를 푸시합니다 (예 :에서 참조 refs/heads/). 다른 <refspec>.


-12

GitHub 마스터 리포지토리로 푸시하도록 git을 구성한 경우 브랜치에 관계없이 GitHub 마스터 리포지토리로 푸시됩니다.

많은 개발자가 동일한 저장소에서 작업하는 경우 충돌이 발생할 수 있습니다.


나는 git config push.default current를 실행했다
Noam
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.