u는 정확히 무엇을 합니까?"git push -u origin master" vs "git push origin master"
이해하려고 최선을 다했음에도 불구하고, 저는 Git를 사용하는 것에 분명히 서투릅니다.
kernel.org 에서 다음 주소로 이동git push
:
-u
--세트-슬립
최신 상태이거나 성공적으로 푸시된 모든 분기에 대해 인수 없는 git-pull(1) 및 기타 명령에 사용되는 업스트림(추적) 참조를 추가합니다.자세한 내용은 을 참조하십시오.
branch.<name>.merge
git-config(1)를 입력합니다.
자branch.<name>.merge
부터git config
:
branch.<name>.merge
정의합니다(와 함께).
branch.<name>.remote
지정된 분기의 업스트림 분기.git fetch/git pull에 병합할 분기를 알려주고 git push에도 영향을 줄 수 있습니다(push.default 참조).분기 시<name>
Git가 FETCH_HEAD에서 병합하도록 표시할 기본 refspec을 가져오라고 합니다.이 값은 refspec의 원격 부분처럼 처리되며, 지정된 원격에서 가져온 ref와 일치해야 합니다."branch.<name>.remote"
병합 정보는 git pull(처음에는 git fetch를 호출함)에서 병합할 기본 분기를 조회하는 데 사용됩니다.이 옵션을 사용하지 않으면 가져오기 시작한 첫 번째 refspec을 병합하기 위해 꺼내기 기본값을 지정합니다.문어 병합을 가져오려면 여러 값을 지정합니다.Git Pull을 설정하려면 Git Pull이 다음에 병합되도록 합니다.<name>
로컬 리포지토리의 다른 분기에서 다음을 가리킬 수 있습니다.branch.<name>.merge
원하는 분기로 이동하고 특수 설정을 사용합니다. (기간)branch.<name>.remote
.
Github을 사용하여 원격 저장소를 성공적으로 설정하고 다음을 사용하여 첫 번째 커밋을 성공적으로 적용했습니다.
git push -u origin master
그런 다음 다음을 사용하여 원격 저장소에 두 번째 커밋을 성공적으로 푸시했습니다.
git commit -m '[...]'
하지만, 내가 다시 해야 한다고 잘못 생각한 것은.origin
부터master
실행:
# note: no -u
git push origin master
그게 무슨 짓입니까?전혀 효과가 없어 보였습니다.내가 "해동"했나요?git push -u origin master
?
핵심은 "논쟁 없는 기트풀"입니다.당신이 할 때git pull
분기에서, 소스 원격 또는 분기를 지정하지 않고 git은 다음을 봅니다.branch.<name>.merge
어디서 끌어내야 하는지 알 수 있도록 설정합니다. git push -u
밀어넣는 분기에 대해 이 정보를 설정합니다.
차이를 확인하려면 새 빈 분기를 사용합니다.
$ git checkout -b test
먼저, 우리는 없이 밀어냅니다.-u
:
$ git push origin test
$ git pull
You asked me to pull without telling me which branch you
want to merge with, and 'branch.test.merge' in
your configuration file does not tell me, either. Please
specify which branch you want to use on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details.
If you often merge with the same branch, you may want to
use something like the following in your configuration file:
[branch "test"]
remote = <nickname>
merge = <remote-ref>
[remote "<nickname>"]
url = <url>
fetch = <refspec>
See git-config(1) for details.
이제 우리가 더하면,-u
:
$ git push -u origin test
Branch test set up to track remote branch test from origin.
Everything up-to-date
$ git pull
Already up-to-date.
추적 정보는 다음과 같이 설정되어 있습니다.git pull
원격 또는 분기를 지정하지 않고 예상대로 작동합니다.
업데이트: 보너스 팁:
- 에▁to▁addition,▁as게처럼것가▁in다▁mark,▁in▁comment급▁mentions▁a언.
git pull
이은 이설은기동줍영니다향을의 기본 동작에도 영향을 줍니다."의 을 줍니다.git push
만약 당신이 사용하는 습관이 생긴다면,-u
추하려원분캡기처면다려음설좋것다습니이는정을 하는 것이 .push.default
값 - 구값upstream
. git push -u <remote> HEAD
가 재분기같이분밀기어다니습넣로름에 있는 .<remote>
할 수 합니다.)git push
그 후).
git push -u origin master
다음과 같습니다.
git push origin master ; git branch --set-upstream master origin/master
을 해보세요.-u
!
아니면 강제로 할 수도 있습니다.
git config branch.master.remote origin
git config branch.master.merge refs/heads/master
여러분이 가 여러분을, 하지 않는 브랜치를 의 실수를 입니다.git remote add
그게 당신이 원하는 것일 수도 있지만요.:)
좀 더 간단한 용어로:
엄히말하면밀,면하,-u
합니다.
여기서 중요한 것은 이것이 당신이 할 수 있게 한다는 것입니다.git pull
더 이상 인수를 제공하지 않습니다.를 들어, 를들어, 번하면한을 ,git push -u origin master
나중에 전화할 수 있습니다.git pull
그리고 Git은 당신이 실제로 의미했던 것을 알게 될 것입니다.git pull origin master
.
그렇지 않으면 전체 명령을 입력해야 합니다.
언급URL : https://stackoverflow.com/questions/5697750/what-exactly-does-the-u-do-git-push-u-origin-master-vs-git-push-origin-ma
'programing' 카테고리의 다른 글
첫 번째 커밋을 제거하는 방법은 무엇입니까? (0) | 2023.05.23 |
---|---|
선택 변경 시 데이터 속성 값 가져오기 (0) | 2023.05.23 |
X번 반복되는 문자열을 쉽게 반환할 수 있는 방법이 있습니까? (0) | 2023.05.23 |
Excel VBA 성능 - 100만 행 - 값이 포함된 행을 1분 이내에 삭제 (0) | 2023.05.23 |
DOM 요소를 jQuery 요소로 변환하려면 어떻게 해야 합니까? (0) | 2023.05.23 |