폭풍 코딩 후 Github Desktop에서 Pull을 눌렀다가
리모트에 변경사항 있다는 팝업이 떠서 아무 생각 없이 OK를 누른 적이 있다🙀
덕분에 내 코딩이 통째로 덮였다
- 커밋x
- 스테이징 x
- 되돌릴 수 있는 것도 x
결국 며칠치 작업이 한순간에 증발됐다
그때부터 난 Github Desktop 안 쓰기 시작했다
🔁 이번에도 충돌. 이번엔 VSCode로 단판 지을 거다
그리고 금요일 퇴근 10분 전 똑같은 일이 벌어졌다
- 내 로컬에서 코드 수정함
- Push 하려 했더니 Git에서 친절히 거절
Updates were rejected because the remote...
대충 이런 에러였던 거로 기억한다 업무용 노트북이랑 개인용 노트북이 달라서 에러문구나 코드 완전복붙이 어렵다 ㅜㅜ
리모트에 바뀐 게 있으니까 먼저 Pull 하고 머지하라는 얘기다
✅ 이번엔 VSCode UI로 병합 도전
UI에서 머지해보겠다
1. 내 작업 커밋
내 작업부터 일단 올려놓는다
SOURCE CONTROL → Stage → commit
2. Pull
당연히 에러가 발생할 거다
너무 당연한 거니까 당황하지 않고 바로 3단계로 진입
3. 3분할 병합 UI: Incoming Change / Current Change / Result
VSCode는 충돌 파일을 열면 자동으로 병합 UI를 띄워준다
캡처할 수가 없어서 말로 설명,,ㅠㅠ
3-1. 머지 화면 구성
| 영역 | 의미 |
| Incoming Change | 리모트에 있는 최신 코드 |
| Current Change | 내 로컬에 있는 코드(내가 수정한 거!) |
| Result | 병합 결과(여기서 최종 결정) |
내가 수정한 부분 vs 팀원이 수정한 부분을 한줄한줄 눈으로 비교하면서
"어떤 걸 살릴지" 직접 선택하거나, 상황에 따라 수동으로 재작성이 가능하다
4. 병합 방식 선택
VSCode는 병합 도우미 버튼을 제공한다
| 영역 | 의미 |
| Accept Incoming Change | 리모트 코드만 살림 |
| Accept Current Change | 내 로컬 코드만 살림 |
| Accept Both Change | 둘 다 붙여서 병합 |
| Compare Changes | 나란히 비교 |
⚠ 버튼 클릭 → Result단에서 최종 수정본을 꼭 직접 확인해야 한다!!
불필요한 충돌 마커(<<<<<<<, =======, >>>>>>> 등) 도 직접 지워줘야 하기 때문이다
5. 저장 & Commit and Push
Result 내용을 저장하고 다시 SOURCE CONTROL 탭에서 커밋/푸시를 진행한다
🧠 교훈
Github Desktop은 깔끔하지만 병합 UI가 없어서 실수하기 너무 좋다
반면 VSCode는 직접 병합해야 하지만 시각적으로 비교할 수 있어 실수할 확률이 줄어든다
(음.. 소신발언하자면.. 사실 난 VSCode도 그닥 좋은 툴은 아니라고 생각한다만 이걸 써야 해서 쓰는 것뿐이다)
만일 환경이나 집단에 구애받지 않고 맘껏(?) 코딩할 수 있는 사람들은 VSCode 굳이 안 써도 될 것 같다..ㅎ
앞으로 내 깃 워크플로우는 이렇게 갈 거다:
1. fetch
2. commit
3. pull -> 병합은 무조건 vscode에서 해결
4. 처리 후 push
이젠 충돌 나도 전보단 덜 겁먹고(?) 해결할 수 있게 됐다
내 코드를 지키고 팀원의 코드를 지킬 수 있는 방법을
비록 내 코드를 날려먹고 나서야 배웠지만..
그래도 배운 게 어디냐..!
'우당탕탕 git & gitHub' 카테고리의 다른 글
| [gitHub error] Please commit your changes or stash them before you switch branches. (0) | 2025.09.17 |
|---|---|
| 공용 리포지토리에 PR 날리기 ‼️ (1) | 2024.03.08 |