
👩🏻💻 지금까지는 혼자 또는 소규모 프로젝트를 진행해서 기본적인 commit, push만 사용해도 충분했다. 하지만 회사에서 협업을 하게 되면 여러 사람이 동시에 작업하게 되고, 무분별한 커밋과 푸시는 큰 문제가 될 수 있다. 그래서 커밋 개념을 다시 한번 훑어보고 정리해 보았다!
브랜치를 사용하면 메인 코드에 영향을 주지 않고 독립적인 작업이 가능하다
🔹 브랜치 생성: git branch 브랜치명
🔹 브랜치 전환: git switch 브랜치명
🔹 현재 브랜치 상태 확인: git status
🔹 메인 브랜치로 돌아가기: git switch main
기능 개발이 끝나면 브랜치를 메인 브랜치에 병합해야한다
1️⃣ 메인 브랜치로 이동: git switch main
2️⃣ 브랜치 병합: git merge 브랜치명
✔️ 원하는 코드만 남기고 수정
✔️ git add . 후 git commit
✔️ 병합된 브랜치 삭제: git branch -d 브랜치명
✔️ 병합되지 않은 브랜치 강제 삭제: git branch -D 브랜치명
Rebase는 브랜치의 시작점을 메인 브랜치의 최신 커밋으로 옮겨서 깔끔한 히스토리를 유지하는 방법

1️⃣ 작업 브랜치로 이동: git switch 브랜치명
2️⃣ 최신 커밋으로 브랜치 이동: git rebase main
3️⃣ 메인 브랜치로 이동: git switch main
4️⃣ 병합 수행: git merge 브랜치명
⚠️ Rebase 중 충돌 발생 시 하나씩 해결해야 하므로 브랜치 차이가 많을 경우 주의!
여러 개의 커밋을 하나로 합쳐서 메인 브랜치에 병합할 때 사용

1️⃣ 메인 브랜치로 이동: git switch main
2️⃣ 커밋을 하나로 합침: git merge --squash 브랜치명
3️⃣ 하나의 커밋으로 저장: git commit -m "브랜치 합침"
✔️ 특정 파일 복구: git revert 파일명
✔️ 특정 커밋 취소: git reset 커밋아이디
✔️ 최근 커밋 취소: git revert HEAD
✔️ 개별 파일 변경 취소: git restore 파일명
팀원과 공유하기 위해 로컬 브랜치를 원격 저장소로 올릴 수 있다
git branch 브랜치명
git switch 브랜치명
git add .
git commit -m "커밋 메시지"
git push origin 브랜치명
팀원들과 코드 리뷰를 진행한 후 병합하기 위해 PR을 생성
📝 Create a merge commit: 모든 커밋 기록 유지

🔄 Rebase and merge: 브랜치를 최신 상태로 맞춘 후 병합

📦 Squash and merge: 여러 커밋을 하나로 합쳐 병합 (히스토리 단순화)

작업 도중에 변경한 파일을 임시로 저장하고, 다른 작업을 해야 할 때 유용
즉!! 임시보관장소 라고 생각하면 쉽다
🔹 변경 사항 임시 저장:
git stash
🔹 변경 사항 임시 저장 시 메모 남기고싶으면? :
git stash save '어쩌구저쩌구~'
🔹 저장된 변경 사항 확인: git stash 는 여러번 할수있다
git stash list
🔹 보관했던 코드 다시 불러오기
git stash pop
🔹 stash 삭제
git stash drop 삭제할id
git stash clear
👩🏻💻 git stash는 주석처리나 브랜치 만들어서 따로 보관하는게 더 효율적이긴하다..ㅎㅎ^^그래도 알아두면 좋으니까
~