📝 TIL (Today I Learned)
📅 날짜
- 2026.01.02
🧩 주제
- GitHub 협업 중 발생한 오류 해결 및 PR 관리
- GitHub Desktop 브랜치 관리 실습
- Visual Studio C++ 프로젝트 구조 이해 (.vcxproj)
- 팀 프로젝트 오류 디버깅 및 기획서 작성
✨ 오늘 배운 내용
오늘은 팀 프로젝트를 진행하면서 GitHub 협업 과정에서 발생한 다양한 오류를 직접 해결하고,
팀원들의 작업을 도와주며 PR 관리와 브랜치 운영에 대한 이해도를 크게 높일 수 있었다.
특히 단순히 내 코드만 관리하는 것이 아니라,
팀 전체의 흐름을 유지하고 복구하는 역할을 수행했다는 점에서 의미 있는 하루였다.
① GitHub PR 관리 및 복구 경험
- 팀원이 실수로 main 브랜치에 PR을 생성하고 머지를 수락한 상황을 직접 복구했다.
- Revert PR 방식으로 main 브랜치 상태를 되돌리고,
이후 올바른 feature 브랜치로 다시 PR을 생성하도록 유도했다. - PR을 닫고(Open → Close), 다시 Reopen 하는 흐름을 실제 상황에서 경험했다.
- "이미 머지된 PR도 되돌릴 수 있다"는 점을 팀원들에게 공유했다.
② 머지 충돌(Merge Conflict) 해결 경험
- PR 머지 과정에서 발생한 충돌을 직접 확인하고 해결했다.
- Files changed 탭에서 충돌 지점을 하나씩 확인하며,
Accept current / incoming / both change의 차이를 실제 코드 기준으로 설명했다.- Accept current : 기존 코드 채택
- Accept incoming : PR 코드 채택
- Accept both change : 기존 및 PR 코드 모두 채택(이거는 쓸 일이... 있나...?)
- 충돌 해결 후 다시 커밋 → PR 갱신 → 머지까지의 흐름을 익혔다.
- 충돌은 무섭지만, 차분히 보면 충분히 해결 가능하다는 자신감을 얻게 되었다.
③ GitHub Desktop 브랜치 관리 팁 공유
- GitHub Desktop에서:
- 브랜치 생성 시 기준 브랜치 확인하는 법
- 로컬 브랜치와 원격 브랜치 연결 상태 확인 방법
- 잘못 생성된 브랜치 정리 방법
- 단순 클릭이 아니라, "지금 이 브랜치가 어디를 보고 있는지"를 항상 확인해야 한다는 점을 강조했다.
④ Visual Studio C++ 프로젝트 구조 이해 (핵심)
가장 기억에 남는 오류는
TeamProject_7.vcxproj 파일에서 발생한 빌드 오류였다.
🔥 핵심 정리
- <ClCompile>
→ .cpp 파일만 들어가야 한다. - <ClInclude>
→ .h 파일만 들어가야 한다. - 헤더(.h)와 구현(.cpp)은 반드시 분리해야 한다.
- 헤더 파일 내부에서 "함수 정의를 하면 링크 오류(LNK2019, LNK2005)"가 발생할 수 있다.
- 함수 정의는 .cpp 파일에, 선언만 .h 파일에 둬야 한다.
👉 이 구조를 이해한 이후,
계속 발생하던 unresolved external symbol 오류의 원인을 정확히 파악할 수 있었다.
⑤ 에러 코드 해석 능력 향상
- 단순히 "에러가 났다"가 아니라,
- 컴파일 에러 vs 링크 에러
- LNK2019, LNK2005, C26495 등의 의미를 구분할 수 있게 됐다.
- 에러 메시지에서
- 어느 파일(main.obj, utf.obj, vcxproj 등)
- 어떤 단계에서 문제인지를 먼저 보는 습관이 생겼다.
⑥ 도전 기능 기획서 작성
- 팀 프로젝트 확장을 위한 도전 기능(게임 시스템) 기획서를 작성했다.
- 플레이 흐름, 능력치 구조, 보상 구조를 정리하면서 구현을 염두에 둔 기획을 고민했다.
- 약 1~2시간 정도 집중해서 작성했다.
💡 느낀 점
- GitHub는 단순한 저장소가 아니라 팀 협업의 핵심 도구라는 걸 다시 느꼈다.
- PR 하나, 브랜치 하나가 팀 전체에 큰 영향을 줄 수 있다는 점이 인상 깊었다.
- 예전엔 무서웠던 에러 메시지가,
이제는 "읽고 해결할 수 있는 힌트"처럼 보이기 시작했다. - 혼자 코딩할 때보다,
팀원의 문제를 함께 해결할 때 훨씬 많이 성장한다는 걸 체감했다.
'TIL' 카테고리의 다른 글
| 26.01.06_TIL (0) | 2026.01.06 |
|---|---|
| 26.01.05_TIL (0) | 2026.01.05 |
| 25.12.31_TIL (0) | 2025.12.31 |
| 25.12.30_TIL (0) | 2025.12.30 |
| 25.12.29_TIL (0) | 2025.12.29 |
