git 원격 업데이트와 fetch의 차이점은 무엇입니까?
아이즈git remote update
에 하는 것git fetch
?
한마디로 이야기할 수 없군요. git remote update
하나뿐 아니라 모든 원격에서 가져오기.
코드를 확인하지 않고도 다음을 확인할 수 있습니다.remote update
기본적으로 각 원격에 대해 가져오기를 실행합니다. git fetch
훨씬 더 세분화될 수 있습니다.
업데이트: 추가 정보!
나는 처음부터 이것을 했어야 했습니다: 나는 Git's Gitrepo에서 Git 릴리스 노트를 그리핑했습니다. (그래서 메타!)
grep --color=always -R -C30 fetch Documentation/RelNotes/* | less
그리고 나서 저는.less
를 --all
Git 버전 1.6.6의 릴리스 노트에서 확인한 내용은 다음과 같습니다.
git fetch
학식이--all
그리고.--multiple
" " "라는 파일이 있습니다.--prune
오래된 원격 추적 분기를 제거하는 옵션입니다.은 이제들은을 만듭니다.git remote update
그리고.git remote prune
적음(제거할 )remote update
도 아니다remote prune
그러나).
버전 1.6.6은 2009년 12월 23일까지 출시되지 않았고, 원본 포스터는 2009년 12월 6일에 그의 질문을 했습니다.
릴리스 노트에서 알 수 있듯이 Git의 저자들은 다음과 같은 사실을 알고 있었습니다.git remote update
명령 기능이 에 의해 다소 중복되고 있었습니다.git fetch
그러나 기존 스크립트 및 프로그램과의 하위 호환성을 위해 또는 작업이 너무 많고 우선 순위가 높은 항목이 있기 때문에 제거하지 않기로 결정했습니다.
더 자세한 내용이 포함된 원답변
Xenoterracide의 답변은 현재 3.5년이 되었으며, Git는 그 이후로 여러 버전을 거쳤습니다(이 문서에서는 v1.6.5에서 v1.8.3.2로 변경됨). 및 에 대한 현재 문서를 보면 둘 다 기본적으로 여러 원격에서 새 커밋을 가져오는 동일한 기능을 수행할 수 있는 것 같습니다.적절한 옵션과 인수가 주어집니다.
모든 원격을 가져오는 중
한 은 여러원가한방가은법지는져오격을 입니다.--all
플래그:
git fetch --all
원격에서 입니다. "" " " " " " " "가 없다고 할 때 사용자가 설정한 모든 원격에서 .remote.<name>.skipFetchAll
그들을 위해 설정됨:
true이면 git-fetch(1) 또는 git-remote(1)의 update 하위 명령을 사용하여 업데이트할 때 이 원격은 기본적으로 건너뜁니다.git-config 설명서
이는 다음을 사용하는 것과 같습니다.
git remote update
가져올 원격 그룹을 지정하지 않고 또한 없습니다.remotes.default
구성에 , 에 repo가 없는 에도 repo가 없습니다.remote.<name>.skipDefaultUpdate
참으로 설정합니다.
Git의 구성에 대한 현재 1.8.3.2 설명서에는 다음과 같은 내용이 포함되어 있지 않습니다.remotes.default
설정, 하지만 저는 전능한 구글과 상의했고 Mislav Marohnich로부터 다음과 같은 유용한 설명을 찾았습니다.
$ git config remotes.default 'origin mislav staging'
$ git remote update
# fetches remotes "origin", "mislav", and "staging"
가 기본 목록정수있다니습의로 할 수 .
remote update
지권휘▁은 팀할 수 있는 의 원격 일 수 이들은 팀원, 오픈 소스 프로젝트의 신뢰할 수 있는 커뮤니티 구성원 등의 원격 정보일 수 있습니다.
그러니 아마도, 만약 당신이 가지고 있다면,remotes.default
세트, 그리고 당신의 모든 리모콘이 그것에 나열되지는 않습니다, 그러면.git remote update
사용자의 레포가 "인식"하는 모든 원격을 가져오지 않습니다.
에 remote.<name>.skipDefaultUpdate
Git 문서는 다음과 같이 설명합니다.
true이면 git-fetch(1) 또는 git-remote(1)의 update 하위 명령을 사용하여 업데이트할 때 이 원격은 기본적으로 건너뜁니다.
지정된 원격 그룹을 가져오는 중
모든 원격을 가져오는 대신에, 두 가지 모두fetch
그리고.remote update
가져올 여러 원격 및 원격 그룹을 지정할 수 있습니다.
git fetch [<options>] <group>
git fetch --multiple [<options>] [(<repository> | <group>)…]
git fetch [<options>] <group>
에서는 그룹의 일부인 여러 원격을 가져올 수 있습니다(Mislav의 다른 예를 빌리기 위해).
$ git config remotes.mygroup 'remote1 remote2 ...'
$ git fetch mygroup
git fetch --multiple
문서에서 한 번에 가져올 여러 리포지토리 및 리포지토리 그룹을 지정할 수 있습니다.
개 허용
<repository>
그리고.<group>
지정할 인수입니다.아니요.<refspec>s
지정할 수 있습니다.
의 git remote update
의 개요는 명령 구문이 다음과 같이 지정됩니다.
git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)…]
마막부분주을목세요하지,▁the▁notice요▁last세주▁part목하.[(<group> | <remote>)…]
에 오는 점들은 에오는 입니다....
그룹 및 할 수 합니다. 즉, 이명을사여여그수지의있다며미, 다로동의니작합미을함방으와 합니다.git fetch --multiple
둘 유사한지 ?... 둘사이구어그떻유렇아사십까니지한게게문이의??
러나문, 같에서서, 그설은명에 설명이 .update
는 다중 원격 하는 것에 대해 아무 , "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""만" "" "" "" "" "
대로 대로 정의된 된 원격 에 대한 를 가져옵니다
remotes.<group>
.
그래서 그것은 확실하지 않습니다.git remote update
▁ident와 동일하게 git fetch --multiple
여러 개별 원격 및 여러 원격 그룹 지정과 관련하여
단일 리모컨 가져오기
마지막으로, 모든 사람이 단일 리모컨을 가져오는 간단한 경우를 알고 있습니다.
git fetch <remote>
그런 경우에 당신도 사용할 수 있습니다.
git remote update <remote>
것을만, 했듯이, 한작을수기위해행그, 이언이섹듯서급문, 는서에했에 대한 입니다.git remote update
명령을 사용하여 단일 원격 그룹 이외의 다른 항목을 가져올 수 있는지 여부가 불분명합니다.
마무리
처럼,git fetch
그리고.git remote update
여러 원격에서 가져오기와 관련하여 유사하게 동작합니다.하지만 그들은 유사한 구문과 인수를 공유합니다.git fetch
더 짧기 때문에, 사람들은 아마도 타이핑하고 사용하는 것이 더 쉽다고 생각할 것입니다.
수도 있어요.git remote update
단일 리모컨을 가져오는 데 사용할 수 없습니다.git fetch
하지만 제가 지적했듯이, 그 문서는 이것을 명확하게 하지 않습니다.
따로
Git perche 명령 간의 기능 중복은 다음과 같이 예시됩니다.git fetch
그리고.git remote update
위의 는 고유하지 않습니다.와 유사한 상황을 발견했습니다. 둘 다 다양한 범위의 커밋을 사용하여 새 기본 커밋에 패치를 적용할 수 있습니다.
에 따라,이 (불가피하게도합니다. 최종 사용자를 Git수발불일기부능이서년간도면전게하하가피이불)▁g▁to▁(기이▁range능?▁i▁a도수년일게for▁to부's▁simpler▁pass간)ality▁was,하▁(▁a▁example▁as?)로 범위를 전달하는 것이 더 간단하다고 생각합니다. 중복되었으며, 때로는 최종 사용자의 편의를 위해 (예를 들어, 범위를 전달하는 것이 더 간단합니다.)cherry-pick
범위를 선택하기 위해 단일 커밋을 반복적으로 전달하는 것보다. 보하니아▁apparent.cherry-pick
v1.7.2 릴리스 정보에서 설명한 것처럼 커밋 범위를 항상 수락하지는 않았습니다.
git cherry-pick
을 배웠습니다( 예배방웠습니다을법는택하선범위를커밋예().cherry-pick A..B
그리고.cherry-pick --stdin
), 역시 마찬가지입니다.git revert
은 더 을 지원하지 .rebase [-i]
하지만, 있습니다.
언급URL : https://stackoverflow.com/questions/1856499/differences-between-git-remote-update-and-fetch
'programing' 카테고리의 다른 글
GitHub에서 Git 커밋 메시지 편집 (0) | 2023.06.25 |
---|---|
텍스트가 잘리거나 기본 키를 포함한 하나 이상의 문자가 대상 코드 페이지에 일치하지 않습니다. (0) | 2023.06.25 |
com.sun.vmdk.api.client.ClientHandlerException: java.net .예외 연결:연결 거부됨: Spring Boot에서 연결 (0) | 2023.06.25 |
유형 스크립트 반응 구성 요소의 반응/prop-typeeslint 오류 (0) | 2023.06.25 |
404 찾을 수 없음 예외에 본문 추가 (0) | 2023.06.25 |