Git 기본상식 (5)

jmboy713·2023년 4월 22일
1

Road to Git master

목록 보기
5/7

1. 여러 브랜치를 리베이스(rebase)하기

이 브랜치들의 모든 작업내역을 main 브랜치에 리베이스 해볼까요?

git rebase main bugFix // main에다 bugfix를 붙힘 , HEAD를 bugfix로 
git rebase bugFix side// bugfix에 side를 붙힘 , HEAD를 side로 
git rebase side another // side에 another를 붙힘 , HEAD를 another로 
git branch -f main // main브랜치를 HEAD로 옮김.

2. 부모를 선택하기

  • git checkout HEAD^ -> 첫번째 부모로 올라감.
  • git checkout HEAD^2 -> 두번째 부모로 올라감.
  • git checkout HEAD~^2~2 -> 첫번째 부모, 두번쨰 부모 2개위의 부모.

3. 브랜치 스파게티

여기 main 브랜치의 몇 번 이전 커밋에 one, two,three 총 3개의 브랜치가 있습니다. 어떤 이유인지는 몰라도, main의 최근 커밋 몇 개를 나머지 세 개의 브랜치에 반영하려고 합니다.

one 브랜치는 순서를 바꾸고 C5커밋을 삭제하고, two브랜치는 순서만 바꾸며, three브랜치는 하나의 커밋만 가져옵시다!

git checkout one 						//one으로 체크아웃
git cherry-pick c4 c3 c2 				// c4 c3 c2순으로 one을 커밋
git checkout two 						// two으로 체크아웃
git cherry-pick c5 c4' c3' c2' 			// c5 c4' c3' c2'순으로 two을 커밋
git branch -f three c2 					// three브랜치를 c2로 옮김.

profile
Python을 활용한 프로그래밍을 하고있습니다! 데이터분석, 인공지능, Django에 관한 정보를 업로드할 예정입니다. 잘부탁드립니다!!

0개의 댓글