git pull과 git fetch + git rebase의 차이점은 무엇입니까?
또 다른 질문은 다음과 같습니다.git pull
와 같습니다.git fetch
+git merge
.
하지만 무엇이 다른가요?git pull
그리고.git fetch
+git rebase
?
당신의 질문에서 당신이 실제로 단지 사이의 차이에 대해 묻고 있다는 것은 꽤 분명해야 합니다.git merge
그리고.git rebase
.
따라서 일반적인 경우에 해당한다고 가정해 보겠습니다. 마스터 브랜치에서 작업을 수행한 후 오리진에서 작업을 수행한 경우도 있습니다.가져오기 후에는 다음과 같이 표시됩니다.
- o - o - o - H - A - B - C (master)
\
P - Q - R (origin/master)
이 시점에서 병합하면(git pull의 기본 동작) 충돌이 없다고 가정하면 다음과 같이 됩니다.
- o - o - o - H - A - B - C - X (master)
\ /
P - Q - R --- (origin/master)
다른 한편으로 적절한 기본 재배치를 수행했다면 다음과 같은 결과를 얻을 수 있습니다.
- o - o - o - H - P - Q - R - A' - B' - C' (master)
|
(origin/master)
작업 트리의 내용은 두 경우 모두 동일하게 끝나야 합니다. 작업 트리에 도달할 때까지 다른 기록을 작성했습니다.기본 재배치는 기록을 다시 작성하여 오리진의 새 마스터 분기 위에 커밋한 것처럼 보이게 합니다.R
), 원래 사용자가 저지른 위치 대신) 대신H
) 다른 사용자가 이미 마스터 분기에서 탈퇴한 경우에는 기본 재배치 방법을 사용하지 마십시오.
마지막으로, 실제로 설정할 수 있습니다.git pull
지정된 분기가 config 매개 변수를 설정하여 병합하는 대신 rebase를 사용하는 경우branch.<name>.rebase
사실대로다음을 사용하여 한 번 당기기에도 이 작업을 수행할 수 있습니다.git pull --rebase
.
TLDR:
git pull
달리는 것과 같습니다.git fetch
그리고나서git merge
git pull --rebase
는 것과 같은git fetch
그리고나서git rebase
당신의 첫번째 진술에 대한 답변으로,
git pull
와 같습니다.git fetch
+git merge
.
"기본 모드에서 git pull은 다음과 같은 약자입니다.
git fetch
다음에git merge
FETCH_HEAD" 보다 정확하게는git pull
달리기git fetch
지정된 매개 변수를 사용한 다음 호출합니다.git merge
검색된 분기 헤드를 현재 분기에 병합하려면"
(참조: https://git-scm.com/docs/git-pull)
두 번째 진술/질문:
'하지만 다른 점이 있다면'git pull
대git fetch
+git rebase
'
다시, 동일한 출처에서:
git pull --rebase
"--rebase를 사용하면 git merge 대신 gitbase를 실행합니다."
자, 만약 당신이 묻고 싶다면,
사이의 차이merge
그리고.rebase
'
여기에도 답이 있습니다.
https://git-scm.com/book/en/v2/Git-Branching-Rebasing
(버전 기록 방식 변경 간의 차이점)
언급URL : https://stackoverflow.com/questions/3357122/what-is-the-difference-between-git-pull-and-git-fetch-git-rebase
'bestsource' 카테고리의 다른 글
목록에서 문자열 값 찾기 및 바꾸기 (0) | 2023.05.14 |
---|---|
Xcode 4에서 탭을 빠르게 전환하는 방법은 무엇입니까? (0) | 2023.05.14 |
구성된 파일 'main/binary-i386/Packages' 획득 건너뛰기 (0) | 2023.05.14 |
목표-CARC: 강함 vs 유지, 약함 vs 할당 (0) | 2023.05.14 |
Windows에서 diff 명령어에 해당하는 것은 무엇입니까? (0) | 2023.05.14 |