ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • git rebase
    카테고리 없음 2021. 9. 12. 21:16

    1. 브랜치 하나 만든다.

    2. test1.md 파일을 만들고 commit 한다.

    3. test2.md 파일을 만들고 commit 한다.

    4. test3.md 파일을 만들고 commit 하고 푸시를 한다.

    그러면 만든 브랜치에서 커밋내역이 3개가 추가가되는데 이것을 바로 main 브랜치에 merge 하면 3개커밋이 main브랜치에 그대로 추가가 되기 때문에 이것을 main브랜치에서 1개의 커밋으로 남기고싶을때 rebase를 사용한다.

    5. git rebase -i @~3 //위에서 만든 3개의 커밋을 1개의 커밋으로 main에다가 넣을꺼기때문에 @~3을 해줬다.

    ※ 만약 충돌이 발생하면 충돌 해결하고 git rebase --continue로 진행하면된다.

    이런 화면이 나오면 나는 test1이라는 커밋한개만 main에 추가하고싶기 떄문에 밑에 test2와 test3의 pick을 s 로 바꾼다.

    :wq로 나온다. 그러면 이런 화면이 나온다.

    이렇게 바꿔준다.

    6. git checkout main 으로 main브랜치로 간다.

    7. git merge test/test를 한다. 그러면 이상한? 창으로 넘어가는데 :wq로 나온다.

    8. git push origin main을 한다.

    마지막으로 결과가 pick한거는 뭔지 잘 모르겠는데 어쨋든 commit 메시지보면 "1개로 합쳐짐" 으로 되어있고 그 다음은 merge한 커밋이 생기게된다. 

    핵심은 test/test브랜치에서 3개의 커밋을 main에서는 1개의 커밋이 추가된다는 점이다.

Designed by Tistory.