Giit 명령 입문: Giit 분기 기능(rebase,의 4) 제69회
오자 사과.
지난번 마지막01지점05 합병 지점이 기재되어 있지만 실제 명령 예시에서 you합쳐서 04네.게다가04、you_05의 지점 내용은 완전히 같다. 결과는 차이가 없지만 독자를 혼란스럽게 할 수 있다.m(_)m
오늘 공부, 여기 있다!
이 페이지의 후반부, Figure 47.같은 일을 다시 합치면'다시 기초를 쌓은 상태의 기초'가 있기 때문에 이번에는 이곳을 배워야 한다.
저번 기사는 이쪽부터!
git 본가의 정보는 여기서부터 시작!
이번 환경은 git clone으로 해주세요.
$ git clone https://github.com/shiozumi-makoto/20210402.git
Cloning into '20210402'...
// 中略!
// clone で、作成されたフォルダーに移動して!
$ cd 20210402
// ブランチは、こんな感じになります!
$ git branch -avv
* my_01 8f3b141 [origin/my_01] C7
remotes/origin/HEAD -> origin/my_01
remotes/origin/my_01 8f3b141 C7
remotes/origin/you_04 4bc46c0 C6
remotes/origin/you_05 1f4e654 C4
// 続けて、origin/you_04 も取り込んでくださあ~い!
$ git checkout -b you_04 origin/you_04
Branch 'you_04' set up to track remote branch 'you_04' from 'origin'.
Switched to a new branch 'you_04'
// origin/you_05 も!
$ git checkout -b you_05 origin/you_05
Branch 'you_05' set up to track remote branch 'you_05' from 'origin'.
Switched to a new branch 'you_05'
$ git branch -avv
my_01 8f3b141 [origin/my_01] C7
you_04 4bc46c0 [origin/you_04] C6
* you_05 1f4e654 [origin/you_05] C4
remotes/origin/HEAD -> origin/my_01
remotes/origin/my_01 8f3b141 C7
remotes/origin/you_04 4bc46c0 C6
remotes/origin/you_05 1f4e654 C4
// これで、全てのブランチが整いましたね!
my_01 병합 전의 상태.
$ git log --oneline --graph my_01
* 8f3b141 (origin/my_01, origin/HEAD, my_01) C7
|\
| * 4bc46c0 (origin/you_04, you_04) C6
| |\
| | * 061bab3 C5
| * | 41f5a21 C4
| |/
* | 6093ed7 C3
* | 7ff068f C2
|/
* 9d381c2 C1
you_04、당신05와 병합 후의 상태.
$ git log --oneline --graph you_04
* 4bc46c0 (origin/you_04, you_04) C6
|\
| * 061bab3 C5
* | 41f5a21 C4
|/
* 9d381c2 C1
you_05、당신04와 리베스 다음.
$ git log --oneline --graph you_05
* 1f4e654 (HEAD -> you_05, origin/you_05) C4
* 061bab3 C5
* 9d381c2 C1
본 사이트의 이미지를 미리 붙여 놓으세요!본가의 해설에서 다른 사람들은 뒤에서 다시 기초를 닦는 것이 push의 지점이다!
지난번 복습도 복습 겸.01、너와합병 05부터 시작!
git merge you_05
// マージコメントを聞かれるので、そのまま、wq で保存。
// コメントは、Merge branch 'you_05' into my_01 となります!
$ git log --graph --oneline
* f3a5d72 (HEAD -> my_01) Merge branch 'you_05' into my_01
|\
| * 1f4e654 (origin/you_05, you_05) C4
* | 8f3b141 (origin/my_01, origin/HEAD) C7
|\ \
| * \ 4bc46c0 (origin/you_04, you_04) C6
| |\ \
| | |/
| | * 061bab3 C5
| * | 41f5a21 C4
| |/
* | 6093ed7 C3
* | 7ff068f C2
|/
* 9d381c2 C1
본 사이트의 이미지를 미리 붙여 놓으세요!C8 = f3a5d72 Merge branch 'you_05' into my_01
C4'=1f4e654 [신규] C4
지난번과 마찬가지로 이력서네요.C5에서 새 C4, C6로 분할합니다.you_04、당신05의 쌍방이 합병된 상태.
오늘의 주제!git rebase you_실행 05!
// git switch my_01 で、ローカルmy_01ブランチに切り替えてから!
$ git rebase you_05
First, rewinding head to replay your work on top of it...
Applying: C2
Applying: C3
Applying: C4
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
No changes -- Patch already applied.
$ git log --oneline --graph my_01
* 1548e15 (HEAD -> my_01) C3
* 37bfc60 C2
* 1f4e654 (origin/you_05, you_05) C4
* 061bab3 C5
* 9d381c2 C1
C1→C5→C4'신규'→C2→C3의 이력이 새롭게 바탕이 됐네요!본가의 문서에는 티몬/master가 있습니다.여기 너집행을 05로 대체하다.그리고 이곳05분지로서 실행하지 않으면
git checkout -b you_05 origin/you_05
git rebase origin/you_05
죠!본 사이트의 처리 절차부터 시작합니다!
그 다음으로 합병 제출은 생략되기 때문에 C6, C7, 최종 합병 제출을 제외하고 나머지 C2, C3, [구] C4를 바탕으로 처리하는 목표 제출이다.그리고 [구] C4와 [신] C4는 같고 [구] C4도 대상에 없기 때문에 my01부터 C2, C3만 있으면 됩니다.그래 너05 C1, C5, [신규] C4 연결 후 C2, C3 제출 완료.
결과는 C1→C5→C4'신규'→C2→C3!
$ git log --oneline --graph my_01
* 1548e15 (HEAD -> my_01) C3 // <!-- 本家では、C3'
* 37bfc60 C2 // <!-- 本家では、C2'
* 1f4e654 (origin/you_05, you_05) C4 // <!-- 本家では、C4'
* 061bab3 C5
* 9d381c2 C1
이해하기 편리하도록 저희 사이트의 사진도 붙여주세요!출처: Figure 48.리셋 후 강제~
C4와 다른 멤버의 C4'패치 내용이 기본적으로 동일해야만 순조롭게 진행될 수 있습니다.그렇지 않으면 중복된 것을 알 수 없습니다. (게다가 패치의 적용이 실패할 수도 있습니다. 적어도 누군가가 변경할 수 있기 때문입니다.)
본 사이트의 해설은 이렇다.(^▽^;)
C4는 [구] C4, C4를 [신] C4로 바꿔 읽으십시오.
총결산
그럼, 어때요?실제로 지령을 내리기 전에 정말 그렇게 될까?음, 불안이 가득했지만 예상대로 잘 됐네요.응, 처리 절차에서 우리는 제출한 데이터의 중복을 생략하고 정렬만 하는 것은 매우 간단해.
그럼, 이번엔 여기까지 수고하셨습니다!
중얼거리다
응, 솔직히 말하면,Git는 모든 스냅숏을 저장했어.처음부터 그 특징을 설명했기 때문이다.그렇다면 제출도 쉬워진다. 과거 이력이 얼마나 앞뒤, 최악의 누락이 있었는지, 최신 제출이 있다면 무엇이 될까.또 과거 공약 관리도 지점을 잘라내고 라벨을 붙이면 실제 작업도 방법이 있겠죠~
각주
f41 해시05' into my_01 ↩︎
Reference
이 문제에 관하여(Giit 명령 입문: Giit 분기 기능(rebase,의 4) 제69회), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/shiozumi/articles/06d75a5b1432c5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)