[CS] Git rebase/git squash
基礎とは何ですか。
従来のコミットプール方式で生成された複数のコミットメッセージは、不注意で複雑で混乱します.複数のスタッフが参加するプロジェクトでは、なおさらです.多くのブランキーが量産の提出履歴を整理しようとすると、リベートが行われる.
1) git add .
2) git commit -m "커밋 메시지 입력"
3) git rebase -i main
4) 리베이스 후 conflict 있으면 수정 진행 / 없으면 다음단계 진행
5) git add .
6) git rebase --continue
7) git push origin feature/브랜치이름 --force
スカッシュとは?
ロールバックを行うときに、git圧縮と呼ばれる複数のコミットメッセージを1つのメッセージにマージします.
pick 커밋메시지 ex1 Task 1
pick 커밋메시지 ex1 Task 2
pick 커밋메시지 ex1 Task 3
# Rebase nnnn..nnnn onto nnnnn
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out
履歴をコミットした1つの上端メッセージのみがpick
の状態で、残りはsquash
またはs
に変更されました.これをスカッシュと言います.pick 22222 Task 1
s 11111 Task 2
s 33333 Task 3
その後pushを行う場合はforce(-f)オプションを追加してpushを行う必要があります.このようにすると襟元で別の分岐と思われるので、一般的にpushは適用されません.Reference
この問題について([CS] Git rebase/git squash), 我々は、より多くの情報をここで見つけました https://velog.io/@finelinefe/CS-git-rebase-git-squashテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol