sourcecode

깃 풀 대 깃 베이스

copyscript 2023. 6. 28. 21:54
반응형

깃 풀 대 깃 베이스

저는 Git의 초보자입니다. 그리고 그것들 사이의 차이점을 배우려고 노력합니다.git pullgit rebase어떤 옵션을 사용해야 하는지 예를 들어주실 수 있나요? 두 가지 모두 같은 목적을 가지고 있다고 생각합니다.

git pull그리고.git rebase상호 교환은 불가능하지만 밀접하게 연결되어 있습니다.

git pull에서는 원격에서 현재 분기의 최신 변경 사항을 가져와 해당 변경 사항을 분기의 로컬 복사본에 적용합니다.일반적으로 이 작업은 병합을 통해 수행됩니다. 즉, 로컬 변경사항이 원격 변경사항에 병합됩니다.그렇게git pull와 유사합니다.git fetch & git merge.

보강재는 병합 대신 사용할 수 있습니다.두 분기를 결합하는 새 커밋을 만드는 대신 분기 중 하나의 커밋을 다른 분기 위에 이동합니다.

병합 대신 rebase를 사용하여 풀링할 수 있습니다.git pull --rebase). 로컬 변경사항은 원격 변경사항과 병합되는 대신 원격 변경사항 위에 다시 적용됩니다.

Atlassian은 병합 재배치에 대한 훌륭한 문서를 가지고 있습니다.

git-pull - 다른 리포지토리 또는 로컬 분기 GIT PULL에서 가져와 통합합니다.

기본적으로 원격 분기를 로컬로 풀링합니다. 예:

git pull origin master

마스터 분기를 로컬 리포지토리로 가져옵니다.

git-rebase - 업데이트된 업스트림 헤드 GIT REBASE에 포트 로컬 커밋 전달

이것은 다른 사용자가 원격으로 수행한 변경 사항 위에 로컬 변경 사항을 추가하는 것입니다.예:

  • 예를 들어 로컬 분기에 대해 다음과 같은 일부 변경 사항을 커밋했습니다.SOME-FEATURE
  • 그 동안 당신 친구는 다른 기능들을 연구하고 있었고 그는 그의 브랜치를 마스터로 통합했습니다.

이제 로컬 지점에서 변경 사항과 변경 사항을 확인하려고 합니다.그래서 당신은 체크아웃을 합니다.master분기:

git checkout master

그러면 다음을 끌 수 있습니다.

git pull origin master

그리고 당신은 당신의 지점으로 이동합니다.

git checkout SOME-FEATURE

그리고 리베이스를 할 수 있습니다.master최신 변경 사항을 가져오고 지점 커밋을 맨 위에 배치하려면 다음과 같이 하십시오.

git rebase master

이제 좀 더 명확해 졌으면 좋겠습니다.

간단히 말해서,

Git 병합:

로컬 변경사항과 원격 변경사항을 병합하여 다른 커밋 기록 레코드를 만듭니다.

깃 기본값:

변경사항을 모든 새로운 원격 변경사항보다 우선시하고 커밋 기록을 다시 작성하면 커밋 기록이 git merge보다 훨씬 깨끗해집니다.기본 재배치는 파괴적인 작업입니다.즉, 이를 올바르게 적용하지 않으면 커밋된 작업이 손실되거나 다른 개발자 저장소의 일관성이 손상될 수 있습니다.

언급URL : https://stackoverflow.com/questions/36148602/git-pull-vs-git-rebase

반응형