도구 모음:git rebase

1612 단어 git공구.
git rebase는 commit을 수정하는 데 사용됩니다. 여러 번 제출, 일부 제출 삭제, 제출 정보 수정, 제출 코드 수정, 일부 제출을 다른 지점으로 복사, 기타 지점 코드를 현재 지점으로 합병하는 것을 포함합니다.
주의사항: 원격 창고로 전송된commit입니다.rebase 작업을 강력히 권장하지 않습니다.그렇지 않으면 강제push가 필요하거나 다른 문제가 생길 수 있습니다.
형식: git rebase -i commit1 commit2
여기-i는--interactive의 약자로 인터랙티브 인터페이스에 들어가고 편집하고 제출하는 것을 표시합니다
commit 매개 변수는 앞에서 열고 닫는 것입니다. 즉,commit1을 포함하지 않고,commit2를 포함합니다.commit2를 생략하면 마지막 commit을 표시합니다.
1. 통합 제출
1. 최근 n회 제출 수정을 시작합니다.git rebase-i head~n 또는git rebase-i head^^(여기 n개 있어요^)
2. 첫 번째 픽, 나머지는 모두 squash
3. 수정 사항을 저장한 후 제출 정보를 편집하고 저장하면 합병이 완료됩니다.
2. 삭제 제출
1. 최근 n회 제출 수정을 시작합니다.git rebase-i head~n 또는git rebase-i head^^(여기 n개 있어요^)
2. 삭제할 제출 전면은drop 또는 d이고 다른 제출 전pick은 수정하지 않습니다
3. 수정 사항을 저장한 후 제출 정보를 편집하고 저장하면 삭제가 완료됩니다.
3. 다른 지점으로 복사
1. 커밋을commit1(포함하지 않음)에서 commit2(포함)로 branchName 분기로 복사하고git rebase commit1 commit2 - onto branchName
2.git log에서 마지막 제출을 보고commit-id를 기록하여 목표 지점으로 전환
3. 헤드가 마지막 제출을 가리키게 하기,git reset --hard commit-id
4. 현재 지점 코드를 목표 지점으로 통합
cherry-pick이나merge는 현재 지점으로 통합되고rebase는 코드를 통합하는 방향과 반대로 목표 지점으로 통합됩니다.
1. 현재 지점 코드를 목표 지점으로 통합
이 명령은 현재 지점과 목표 지점의 가장 가까운 조상 제출에서 시작하여 현재 지점 이후의 모든 제출을 목표 지점으로 복사하고 현재 지점 이름도 복사 후의 제출을 가리킨다.다시 HEAD를 목표 지점 이름으로 인용하고 리베이스를 한 번 진행하면 목표 지점 인용이 복사된 제출을 가리키게 할 수 있습니다.
sourceBranch> git rebase targetBranch

sourceBranch> git checkout targetBranch

targetBranch> git rebase sourceBranch

 
2. 충돌이 있으면 수동으로 해결한 후 git rebase --continue
받은 제출 기록이 비교적 깨끗해서 새로운 제출이 생기지 않는다.git merge otherBranch를 사용하면 새로운 커밋이 발생합니다.

좋은 웹페이지 즐겨찾기