Git Rebase 작동 방법 및 Git Merge 및 Git Interactive Rebase와 비교

본문은 최초로 발표되었다. https://www.blog.duomly.com/git-rebase-tutorial-and-comparison-with-git-merge/

간단한 소개


git를 사용하는 데는 여러 가지 방법이 있는데, 만약 그것들이 깨끗하고 손해를 입지 않는다면, 대다수가 좋을 것이다. 
하지만 스페이스 vs.tab과 마찬가지로 IT 세계에서git rebase 팬과git merge 팬 사이에서도 전쟁이 벌어지고 있다. 
다음과 같은 문제에 대해 많은 논쟁이 있다.
- 어느 길이 더 좋아요?
- 뭐가 더 깨끗해요?
- 뭐가 더 편해요?
- 어느 것이 더 선명한git도를 제시했습니까? 
- 왜 그게 중요해, 어떤 게 더 위험해?
 
본문에서 git merge,git rebase,git interactive rebase 간의 차이점을 설명해 드리겠습니다.
나는 너에게 장점과 단점을 알려줄 것이다. (더 나쁘거나 더 나쁜 선택은 없고, 주로 그 안에 있고, 선호만 있을 뿐이다.)
나도 가장 흔히 볼 수 있는 질문에 대답해 보려고 한다.
 
가자!
 
만약 당신이 동영상을 좋아한다면, 여기는 유튜브 버전입니다.
 

Git rebase:



 

git rebase는 어떻게 작동하는지


피쳐를 개발할 때 기본 분기에서 피쳐 분기를 생성합니다.
기능 분기에서 모든 제출을 가져오고 주 분기로 이동하려면git rebase를 사용합니다.
 
이런 유형의git rebase는 제출할 때마다 많은 가능성을 가지고 조작할 수 없으며, 그것들을 모두 목적지로 옮길 수 있습니다.
 
모든 제출을 더욱 잘 제어하기 위해git interactive rebase를 연구할 필요가 있습니다. 이것은 우리에게 더 많은 맞춤형 가능성을 제공할 것입니다.
 

당신은 어떻게 중요한 기초를 개발합니까


git rebase를 시작하는 것은 매우 간단합니다. 터미널에 코드를 한 줄만 입력하면 됩니다.
 
다음을 입력하여 Rebase를 개발할 수 있습니다.
git checkout feature-branch
git rebase your-main-branch(for example master or develop)

나는 어떻게 중기 충돌을 복구해야 합니까


리베이스 충돌을 해결하는 두 가지 방법을 보여드리고 싶습니다.
 
git 충돌 해결:
수동으로 충돌을 해결하고 다음과 같은 방법으로 파일을 추가할 수 있습니다.
git add
및 유형:
git rebase --continue
 
커밋 건너뛰기:
다음을 입력하여 커밋을 건너뛸 수 있습니다.
git rebase --skip

git rebase 보안


만약 우리가 우리가 무엇을 하고 있는지 알고 있다면, 네,git rebase는 안전합니다.
어쨌든 우리는 관심을 필요로 한다.
비록 우리가 큰 손실을 입지 않았다 하더라도, 우리는 시간을 써서 문제를 해결해야 하기 때문이다.
 

왜 git rebase가 위험한가


Git rebase 우리가 조심하지 않으면 좀 위험할 수도 있어.
특히 시간이 촉박한 프로젝트에서
무력으로 추진해야 하기 때문에, 그것은 약간의 역사를 개작했다. 
물론 차인 기초를 철회할 수도 있다.그럼에도 불구하고, 제출을 재개하는 데 걸리는 시간보다 조금 길다.
 

Git rebase pros


- 깨끗한git 그림
- 한 번에 한 번 더 쉽게 액세스할 수 있습니다.
- 청소부 총지출
 

Git rebase cons


- 원격 기반 재설정 시 강제 푸시 필요
- 위험할 수도 있어, 역사를 새로 썼으니까.
- 초보자에겐 쉽지 않아
- 정상적인 베이스를 사용해서 제출을 조작할 가능성이 별로 없습니다
 

Git interactive rebase:



 

git interactive rebase는 어떻게 작동하는지


Git interactive rebase의 작동 원리는 일반적인 rebase와 매우 비슷합니다.
이것은 모든 제출을 쉽게 관리할 수 있도록 보이는 편집기를 제공합니다. 이렇게 하면 이동된 제출을 보지 않을 수 있습니다.
대형 지점, 대형 저장소, 그리고 깨끗하지 않은git 역사에 특히 유용하다.
 

Git 대화형 기본 설정 예


git interactive rebase를 실행하려면 터미널에 다음과 같은 일반 작업과 유사한 절차를 입력해야 합니다.
git checkout feature-branch
git rebase -i your-main-branch(for example master or develop) 
 
그러면 각 커밋에 대한 방법을 선택할 수 있는 커밋 목록이 표시됩니다.
- 선택, 당신은 약속을 유지하고 추진할 주요 내용
-reword, 제출한 메시지를 변경합니다.
- 편집, 제출을 편집할 수 있음
-squash, 이 방법으로 제출한 것은 하나로 압축됩니다.
- 수정, 압축과 유사하지만 제출 로그를 삭제합니다
- 삭제, 제출 삭제

Git interactive rebase pros


- 일반 베이스와 동일
- 이것은 우리가 매번 제출을 더욱 쉽게 조종할 수 있도록 하는 아주 좋은 편집기이다
- 환매 역사의 혼란을 신속히 청산할 수 있어
 

Git interactive rebase cons


- 일반 베이스와 유사
 

Git 통합



 

git 합병은 어떻게 작동하는지


Git merge는 현재 분기의 모든 컨텐트를 가져와 대상 분기에 배치하는 방법입니다.
 
예를 들어 우리는 기능 지점을 주 지점에 통합할 수 있다.
 
이 경우,git는 새로운 통합 제출을 만들고,feature 지점에서 모든 내용 (역사 기록, 코드, 제출) 을 가져오고, 모든 내용을 주 지점에 넣습니다.
 

합병과 재설정 기초 사이에는 어떤 차이가 있습니까


merge와rebase 사이의 주요 차이점은rebase가 매우 깨끗하고 우호적인git도를 만들었고,merge는graphspaghetti와 유사한 것을 생성할 수 있다는 것이다.
 

어떻게 git 합병을 진행합니까


우리는 세 가지 방법으로 이 점을 할 수 있다.
 
첫 번째 방법은fetch와merge의 조합이다.
주로 GitHub이나 BitBucket 등 프로그램에서 통합 요청을 만들기 전에 지점 내의 주 지점을 통합하여 로컬 충돌을 해결하는 데 사용됩니다.
당김:
git checkout feature-branch
git pull origin your-main-branch(for example master or develop)
결합:
git checkout feature-branch
git merge your-main-branch(for example master or develop)
 

합병하기 전에 기본 주소를 다시 설정해야 합니까?


리베이스를 사용하여 제출을 압축하고gitflow를 살짝 정리할 수 있습니다.
다음에 당신은 합병을 해서 깨끗한 도표를 얻을 수 있습니다.
 

Git 통합 Professional


- 브랜치를 연결하는 빠른 방법
- 누구에게나 쉽죠
- 찼을 때 쉽게 회복


Git 통합 cons


- 불결한 나무
- Git 그래픽과 역사가 뚜렷하지 않아
-bisect 등git 방법으로 디버깅하는 것이 더 어려울 수 있음
 

결론


축하해, 이제git rebase 마스터야!
 
나는 모든 항목이 다르기 때문에 너에게 어느 것이 더 좋은지 알려주지 않을 것이다.어떤 회사는 규모가 매우 크다. 몇 년 동안 어떤 회사는 시간의 압력에 직면하고 어떤 회사는 품질을 매우 중시하며 어떤 회사는 품질에 전혀 관심이 없다.

어쨌든, 지금은 어떤 것이 당신에게 더 적합한지, 장점, 단점, 위험을 식별할 수 있어야 한다.
 
나는 내가 이미 당신에게 지점을 갱신하는 이 세 가지 주요 방법 사이의 요점을 설명했기 때문에, 당신이 장래에 그것들을 사용하는 데 문제가 없을 것이라고 희망합니다.
 
만약 당신에게 또 문제가 있거나, 혹은 내가 당신에게 흥미를 느끼는 화제를 위해 글을 좀 쓰게 하고 싶다면, 언제든지 평론을 발표하세요.
 

 
읽어주셔서 감사합니다.
도리의 라드크

좋은 웹페이지 즐겨찾기