🔍 commit : 현재 프로젝트의 상태를 저장한다. Git 이 이전 commit(이전에 저장한 프로젝트의 상태)를 알고 있으므로 자동으로 어떤 부분이 바뀌었는지 알려준다. 누가, 언제, 어떤 부분을 바꾸었는지 확인해볼 수 있다.
🔍 unstage - (commit하기 전) Staging된 파일을 stage 되지 않은 상태로 만들기
git restore --staged '파일명'
🔍 issue : 프로젝트에서 issue(이슈)는 프로젝트에서 해결해야하는 문제(누가 이 작업을 할 것인지)
- 버그(프로그램이 원하는 대로 동작하지 않는 것)를 신고 (Bug report, 버그 리포트)
- 기능 추가 등의 프로젝트 개선 제안 (enhancement)
- 위 문제들을 해결하기 위한 작업단위
- Assignees(담당자) : 이슈를 작업한 사람
- Labels : issue의 특성 분류 - enhancement(추가 기능 개선), good first issue 등
- close issue : 더 이상 이슈를 남겨두는 게 필요없거나 작업이 완료되면 issue 를 종료
🔍 branch : 각자 맡은 것을 작업한다 (기능에 맞게 나누어 작업 가능)브랜치 이름 - feature/이슈번호-기능에맞는이름
🔍 Merge(병합) : 특정 브랜치의 commit 들을 다른 브랜치의 commit 내역에 모두 반영하는 것작업이 완료되면 작업한 브랜치는 보통 삭제해준다. 나중에 브랜치 설정이 꼬이는 것 방지.
🔍 PR(Pull Request, 풀리퀘스트) :내 작업내역을 바로 merge 하지 않고, 참여하고 있는 프로젝트에 내 작업(branch)를 merge해달라고 요청(Request) 를 먼저 보내는 것
🔍 git reset: 커밋 취소하기
git reset --hard <commit id>
: 이전에 반영한 특정 commit으로 되돌아가고, 그 이후에 반영한 commit 들을 모두 제거함.
git push -f origin <branch name>
: 변경된 내용을 remote branch에 적용할 때는 충돌이 발생할 수 있으니 -f를 사용해서 강제 업데이트를 해야한다.
git reset --soft <commit id>
: commit id로 이동해서 수정사항들을 Staging 영역으로 되돌려서, 수정 후 다시 commit을 적용.
git reset HEAD^
: 가장 최근의 commit을 취소(기본옵션 --mixed)
🔍 git revert : 특정 commit의 변경사항을 모두 제거하고, 제거한 내용을 commit으로 등록하는 방법
git revert <commit id>
특정 commit의 변경사항을 제거하지만, 이전에 저장한 commit들은 삭제하지 않고 revert에 대한 새로운 commit을 추가한다. 또한, revert를 사용한 경우, Remote branch와 충돌이 발생하지 않기 때문에 reset처럼 -f를 사용하여 push하지 않아도 된다.
'Tools > Git' 카테고리의 다른 글
git stash 삭제하기 (0) | 2022.10.20 |
---|