문제

~이다 git remote update 동등한 git fetch?

도움이 되었습니까?

해결책

업데이트 : 자세한 정보!

나는 처음부터 이것을 했어야했다 : 나는 git 's git repo에서 git 릴리스 노트를 grep했다 (So Meta!).

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.5 이 글을 쓰는 시점에서 v1.8.3.2에) 현재의 문서화 git remote update 그리고 git fetch, 그것은 그들처럼 보인다 둘 다 기본적으로 여러 리모컨에서 새로운 커밋을 가져 오는 것과 동일한 기능을 수행 할 수 있습니다., 올바른 옵션과 인수가 주어졌습니다.

모든 리모컨을 가져옵니다

여러 리모컨을 가져 오는 한 가지 방법은 다음과 같습니다 --all 깃발:

git fetch --all

이것은 당신이 가지고 있지 않다고 가정 할 때 구성된 모든 리모컨에서 가져올 것입니다. remote.<name>.skipFetchAll 그들을 위해 설정 :

사실 인 경우,이 리모컨은 사용을 업데이트 할 때 기본적으로 건너 뜁니다. git-fetch (1) 또는 업데이트 하위 명령 git-remote (1). — git-config 문서

이것은 사용과 동일합니다

git remote update

가져 오기 위해 원격 그룹을 지정하지 않고 remotes.default Repo 구성에 설정되어 있으며 리모컨 중 어느 것도 remote.<name>.skipDefaultUpdate True로 설정하십시오.

그만큼 현재 1.8.3.2 GIT 구성에 대한 문서 언급하지 않습니다 remotes.default 설정이지만 전능하신 Google과 상담 했고이 유용한 설명을 발견했습니다. Mislav Marohnić:

$ git config remotes.default 'origin mislav staging'
$ git remote update

# fetches remotes "origin", "mislav", and "staging"

기본 리모컨 목록을 정의 할 수 있습니다. remote update 명령. 이들은 팀원의 리모컨, OpenSource 프로젝트의 신뢰할 수있는 커뮤니티 회원 또는 이와 유사 할 수 있습니다.

아마 당신이 있다면 아마도 remotes.default 설정하고 모든 리모컨이 나열되지는 않습니다. git remote update REPO가 "인식"하는 모든 리모컨을 가져 오지 않을 것입니다.

에 관해서 remote.<name>.skipDefaultUpdate 환경, git 문서 이렇게 설명하십시오.

사실 인 경우,이 리모컨은 사용을 업데이트 할 때 기본적으로 건너 뜁니다. git-fetch (1) 또는 업데이트 하위 명령 git-remote (1).

지정된 리모컨 그룹을 가져 오기

모든 리모컨을 가져 오는 대신 둘 다 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 update 명령 구문이 다음과 같습니다.

git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)…]

마지막 부분을 주목하고 [(<group> | <remote>)…]? 후행 점 ... 명령으로 여러 그룹과 리모컨을 지정할 수 있음을 암시합니다. git fetch --multiple... 둘 사이의 구문이 어떻게 비슷한 지 보십니까?

그러나 동일한 문서에서 update 명령은 여러 그룹과 원격 인수를 지정하는 것에 대해 아무 말도하지 않습니다.

저장소에서 명명 된 리모컨 세트에 대한 업데이트를 가져 오기 remotes.<group>.

따라서 확실하지 않습니다 git remote update 동일하게 작동합니다 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 도자기 명령 간의 기능의 복제, git fetch 그리고 git remote update 위는 독특하지 않습니다. 나는 비슷한 상황을 발견했다 git rebase --onto 그리고 git cherry-pick, 둘 다 새로운 기본 커밋에 패치하기 위해 다양한 커밋을 할 수 있습니다.

GIT가 수년에 걸쳐 진화 했으므로 일부 기능은 (필연적으로?) 복제되었으며 때로는 최종 사용자의 편의성으로 복제되었을 것입니다 (예 : 범위를 전달하는 것이 더 간단합니다. cherry-pick, 범위를 선택하기 위해 단일 커밋을 반복해서 통과하는 것보다). 보기에 cherry-pick 다음과 같이 설명한 바와 같이 항상 커밋 범위를 받아들이지 않았습니다. v1.7.2 릴리스 노트:

git cherry-pick 범위의 커밋을 선택하는 법을 배웠습니다 (예 : cherry-pick A..B 그리고 cherry-pick --stdin), 그래서 그랬데 git revert; 이들은 더 좋은 시퀀싱 제어를 지원하지 않습니다 rebase [-i] 그래도.

다른 팁

예 그리고 아니오. git remote update 하나뿐만 아니라 모든 리모컨에서 가져옵니다.

코드를 보지 않고 remote update 단지 쉘 스크립트 (가능)는 기본적으로 각 리모컨에 대한 페치를 실행합니다. git fetch 훨씬 더 세분화 될 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top