DevOps/Git
[Git] stage & commit
문스코딩
2022. 8. 2. 16:56
Stage 올리고 내리기
아래 명령어를 정리했지만, Stage & Unstage를 처리하는 건 IDE의 기능을 이용하는 것이 훨씬 간편합니다.
변경파일 모두 스테이지 올리기
git add .
변경파일중 일부만 스테이지 올리기
git add <dir1> <dir2> <dir3> ...
git add <file1> <file2> <file3> ...
스테이지 파일 되돌리기
git reset HEAD <dir>
git reset HEAD <file>
Commit
Stage에 올라간 변경사항 대상으로 Commit이 적용됩니다.
커밋 작성하기
git commit -m "커밋 메시지를 여기에 작성하세요."
해더, 본문, 푸터 구분하기 - 해더, 본문, 푸터는 빈행으로 구분합니다.
git commit -m "해더
본문
푸터"
커밋 수정하기
(로컬 스토리지내에) 마지막 커밋 메시지 수정하기
(아래 방법을 알기전 git reset --soft를 이용하여 메시지를 바꿨던 기억이 있습니다)
git commit --amend -m "수정할 커밋메시지를 여기에 작성하세요"
git commit --amend # editor에서 직접수정
이전 커밋 메시지 수정하기
아래 명령어 호출 후 editor에 노출된 커밋목록에서 원하는 커밋의 명령어를 pick -> reword로 변경하고 저장하면 됩니다.
git rebase -i HEAD~3 # HEAD(가장최근커밋부터)~3개까지 editor에 노출합니다.
커밋 합치기
rebase 명령어를 실행하여 pick -> s로 변경하고 저장합니다.
이렇게 하면 커밋 메시지 또한 합쳐지기 때문에 메시지는 별도로 수정해야 합니다.
git rebase -i HEAD~3 # HEAD(가장최근커밋부터)~3개까지 editor에 노출합니다.
# editor 수정전
# ---------------------------
pick {commitId} 커밋메시지3
pick {commitId} 커밋메시지2
pick {commitId} 커밋메시지1
# ~~~
# ---------------------------
# editor 수정후
# ---------------------------
pick {commitId} 커밋메시지3
s {commitId} 커밋메시지2
s {commitId} 커밋메시지1
# ~~~
# ---------------------------
커밋 제거하기
rebase 명령어를 실행하여 pick -> drop로 변경하고 저장합니다.
git rebase -i HEAD~3 # HEAD(가장최근커밋부터)~3개까지 editor에 노출합니다.
# editor 수정전
# ---------------------------
pick {commitId} 커밋메시지3
pick {commitId} 커밋메시지2
pick {commitId} 커밋메시지1
# ~~~
# ---------------------------
# editor 수정후
# ---------------------------
pick {commitId} 커밋메시지3
drop {commitId} 커밋메시지2
pick {commitId} 커밋메시지1
# ~~~
# ---------------------------
반응형