Bitbucket의 원격 git 저장소에 로컬 변경 사항을 푸시하는 방법


81

Git과 Bitbucket을 테스트하고 있습니다.

Bitbucket에 리포지토리를 만들고 리포지토리의 로컬 복사본을 만들고 여기에 파일을 커밋하고 있습니다. 내 로컬 저장소에서 원격 저장소로 파일을 푸시 할 수 없습니다.

내가하는 일은 다음과 같습니다.

git clone https://me@bitbucket.org/me/test.git
cd test
touch dummy
git add dummy
git commit dummy -m "my first git commit"
git push

마지막 줄은 다음을 출력합니다.

Everything up-to-date

그리고 Bitbucket에 로그온 할 때 내 더미 파일을 볼 수 없습니다.

내가 도대체 ​​뭘 잘못하고있는 겁니까?

편집하다:

이 작업을 수행했습니다.

 git push origin master:master

이것과 간단한 차이점에 대한 설명이 git push있습니까?


이 질문을 보는 git을 처음 접하는 사람은 stackoverflow.com/questions/5713563/…을
JGallardo

답변:


102

git push origin master대신 사용하십시오 .

로컬에 저장소 git push가 있고 이니셜 은 여기에 "푸시"합니다. (이것은 그것은 그렇게 할 필요는 없습니다 이다 로컬)과 - - 날짜 등 모든 것을 보여줍니다. git push origin master원격 저장소 ( origin)와 거기에있는 분기 ( master)를 지정합니다.

자세한 내용은 이 리소스를 확인하십시오 .


2
또한 무언가를 복제하면 origin저장소가 자동으로 정의 된다는 점도 언급해야합니다 .
Chuck Callebs 2011 년

15

이는 게시 할 준비가되지 않은 분기를 밀어내는 것을 방지하기위한 안전 조치입니다. 간단히 말해서 "git push"를 실행하면 동일한 이름을 가진 서버에 이미 존재하는 로컬 분기 만 푸시되거나 localbranch : remotebranch 구문을 사용하여 푸시 된 분기 만 푸시됩니다.

모든 로컬 브랜치를 원격 저장소로 푸시하려면 --all다음을 사용하십시오 .

git push REMOTENAME --all
git push --all

또는 푸시하려는 모든 분기를 지정하십시오.

git push REMOTENAME master exp-branch-a anotherbranch bugfix

또한 -u"git push"명령 에 추가 하는 것이 유용 합니다. 로컬 브랜치가 원격 브랜치보다 앞 또는 뒤에 있는지 알려줍니다. 이것은 git fetch 후 "git status"를 실행할 때 표시됩니다.


8

나는 힘내에서 다운로드와 함께 해요 https://git-scm.com/ssh를 설정 지침은 대답에 후속 https://stackoverflow.com/a/26130250/4058484 .

생성 된 공개 키가 내 Bitbucket 계정에서 확인되고 http://www.bohyunkim.net/blog/archives/2518에 설명 된 단계를 참조하여 'git push' 만 작동 하는 것을 발견 했습니다.

git clone https://me@bitbucket.org/me/test.git
cd test
cp -R ../dummy/* .
git add .
git pull origin master 
git commit . -m "my first git commit" 
git config --global push.default simple
git push

쉘 응답은 다음과 같습니다.

$ git push
Counting objects: 39, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (39/39), done.
Writing objects: 100% (39/39), 2.23 MiB | 5.00 KiB/s, done.
Total 39 (delta 1), reused 0 (delta 0)
To https://me@bitbucket.org/me/test.git 992b294..93835ca  master -> master

GitHub의 gh-pages마스터 병합을 푸시하는 경우에도 작동합니다.

git checkout gh-pages
git merge master
git push

0

master" git push"명령 의 두 번째 매개 변수 ( ' ')를 의미합니다.

$ git push origin master

push' news-item'분기 에서 " "명령을 시작하여 명확하게 할 수 있습니다 . 이로 인해 로컬 " master"분기가 원격 ' master'분기 로 푸시되었습니다 . 자세한 내용은

https://git-scm.com/docs/git-push

어디 <refspec>에서

[<repository> [<refspec>…​]

" specify what destination ref to update with what source object." 을 의미하는 것으로 작성되었습니다.

참고로 여기에 내가이 진술을 확인한 방법을 캡처 한 화면이 있습니다.

<code> 여기에 이미지 설명 입력 </ code>

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