Git_revert/stash/rebase

Song Chae Won·2022년 7월 27일
0
post-thumbnail

✔ revert 사용해 보기

대상 커밋을 HEAD커밋의 자식으로 새로 생성한다.

주의사항

revert 대상 커밋은 사라지지 않는다.
revert 대상 커밋의 내용을 되돌린 새로운 커밋이 생겨난다.

장단점

장점: 이전 커밋 기록이 다 남아 있다.
단점: 충돌 날 가능성이 매우 높다. 다소 어렵다.

revert는 커밋을 보존하면서 내용만 되돌릴 수 있는 좋은 되돌리기 방법!

✔ Revert로 여러 커밋 되돌리기

: 촤신부터 순서대로 revert를 반복 적용하면 된다

작업 중인 내용의 임시 저장

1) 브랜치1에서 일단 임시 커밋을 한다.
2) 브랜치2로 체크아웃하고 볼 일을 본다.
3) 다시 브랜치1로 되돌아 온다.
4) 1의 작업을 이어서 마무리 짓는다.
5) 커밋 덮어쓰기 (commit --amend)를 한다.
6) (옵션) 필요하다면 (push --force)를 한다.

✔ Stash

: 다른 브랜치로 체크아웃하기 전에 현재 작업내용을 저장하는 임시 저장소

Stash를 이용해서 같은 작업 하기

1) stash를 만든다.
2) 이 때 새로운 파일이 있다면 인덱스에 추가한다.
3) 체크아웃한다.
4) 되돌아 온다.
5) Stash를 Pop 한다.
6) 보통 커밋을 새로 생성한다.

➕ stash 관련한 추가 설명 링크
: https://steady-coding.tistory.com/286

✔ Rebase

:리베이스도 병합(merge)과 마찬자기로 두 브랜치의 내용을 하나로 합치고 싶을 때 사용합니다. rebase는 기본 merge와는 달리 트리가 더 깔끔하게 유지됩니다.

➕ rebase 관련한 추가 설명 링크
: https://velog.io/@godori/Git-Rebase

장단점

장점

  • 깔끔한 트리
    단점
  • 충돌 가능성이 더 높다.
  • 위험하다.
  • 이미 원격에 있는 브랜치를 rebase 하면 안 된다
    (협업하는 경우에 특히 위험)

기타 주의 사항

1) 주석을 남기지 말자

  • 책상도 아니고, 장식장도 아니고 왜 안 쓰는 코드를 남겨놓을까요?

2) 좋은 커밋의 단위

  • 커밋은 자주 합시다!
  • 원자적으로 쪼갤 수 없는 단위 (주로 함수 등)의 의미있는 개발을 했다면 커밋을 합시다.

3) 커밋 메시지를 잘 쓰자!

  • 정말정말 중요한 내용입니다.
  • Github을 프로파일로 제출했다면? 커밋 메시지를 봅니다.
  • 첫줄에 요약
  • 한 줄 띄우고 자세하게 내용을 적자.
  • 미래의 나를 위해서라도 커밋 메시지는 잘 적자!
profile
@chhaewxn

0개의 댓글