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

# ~~~

# ---------------------------
반응형

'DevOps > Git' 카테고리의 다른 글

[Git] stash  (0) 2022.09.26
[Git] revert  (0) 2022.09.21
[Git] Fork - facebook/react에 contributor 되보기  (0) 2022.06.15
[Git] Better Pull Request for GitHub  (0) 2022.06.14
[Git] Gitako - GitHub file tree  (0) 2022.06.13