Code&Data Insights
[Git] Git Pull과 Git Pull --Rebase | Git commit convention 본문
[Git] Git Pull과 Git Pull --Rebase | Git commit convention
paka_corn 2024. 5. 22. 16:20git pull
: git fetch + git merge 두 명령어의 조합
- git fetch : 원격 저장소의 변경사항을 로컬로 가져옴
- git merge: 가져온 변경사항을 현재 브랜치에 병합
=> 커밋 히스토리가 꼬여버린 경우..
git reset --hard로 하고 -> git pull
git reset 하면 잘 안됨 -> git reset --hard로 하고
=> git pull 하기!
** hard는 절대 절대!!! local에서만 실행하세요..!!!
안된다고 원격 repo에서 했다가 대참사가 일어날 수 있습니다..
(웬만하면 원격 repo에서 작업하지 마세요..ㅎ)
git pull --rebase
: git fetch + git rebase 두 명령어의 조합
- git fetch : 원격 저장소의 변경사항을 로컬로 가져옴
- git rebase:
(1) 로컬 변경사항을 임시로 저장
(2) 원격 변경사항을 현재 브랜치에 적용
(3) 임시로 저장한 로컬 변경사항을 (2)위에 적용
-> git rebase는 로컬 변경사항을 원격 변경사항의 최신 커밋위로 재배치하기 때문에 커밋 히스토리가 더 깔끔하게 유지됨!
git pull과 git pull --rebase의 차이점
=> 주로 local에서 작업하고 원격 repo에서 새로운 커밋(다른 동료가 작업한)을 가져와 내 local에 반영할 때 쓰임
작업이 길어질 경우... 중간 중간 안하면 git의 지옥에 빠질 것이다.... ㅠㅠㅠㅠ
git pull --rebase는 주기적으로 하는게 정신건강에 좋음.
(엄청나게 스트레스 받았던 몇번의 경험 뒤로, 나의 경우엔 원격 repo에 가서 push history보면서, 내 local이랑 일치하는지 자주 확인했다)
Git Commit Convention
feat : 새로운 기능 추가
fix : 버그 수정
docs : 문서 내용 변경
style : 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우 등
refactor : 코드 리팩토링
test : 테스트 코드 작성
chore : 빌드 수정, 패키지 매니저 설정, 운영 코드 변경이 없는 경우 등
(ex) feat: layout setup
=> feat: 쓰고 한칸띄어서 쓰기..!
("feat :" : 이런식으로 작성하는게 습관이였어서 고치는 데 애먹었음...ㅎ)
이것도 처음엔 감이 안잡히겠지만, 하다보면 다른 분들꺼 보면서 알아서 적게 됩니다..
reference
'Web Development > Git' 카테고리의 다른 글
[Git] Git으로 협업하기 - Pull Request(PR) | branch naming convention (0) | 2024.06.12 |
---|---|
[Git] 협업 시 git conflict 해결하기 - git rebase (0) | 2024.05.30 |
[Git] 일부 파일 staged에 올리고 changed 파일이 남아있을때 commit 후 push 하기 | 'fatal: not a git repository (or any of the parent directories): .git' 오류 해결 (0) | 2024.05.22 |
[Git] Git 기본 (2) (0) | 2022.07.17 |
[Git] Git 기본 (1) (0) | 2022.07.17 |