Git 및 GitHub로 팀 작업을 할 때 모든 것을 망치지 않는 방법
Source: Dev.to
모든 엔지니어링 팀이 채택해야 할 결정적 가이드
Git 때문에 싸우지 마세요.
main을 깨뜨리지 마세요.
작업을 잃어버리지 마세요.
이 워크플로는 전 세계 스타트업과 스케일업에서 고성능 팀이 사용하는 그대로이며 — 주니어에게는 충분히 간단하고, 스태프 엔지니어에게는 충분히 엄격합니다.
핵심 워크플로 (모든 것을 지배하는 6가지 명령)
# 1. 진행 중인 변경 사항을 안전하게 스태시
git stash push -m "wip: halfway through payment UI"
# 2. 최신 main을 가져와 통합
git pull origin main --rebase # 깔끔한 히스토리를 위해 머지보다 선호
# 3. 작업을 다시 적용
git stash pop # 충돌을 일찍 해결
# 4. 변경 사항 스테이징
git add .
# 5. 의미 있는 커밋 메시지 작성
git commit -m "feat: add real‑time donation progress bar with percentage"
# 6. 원격에 푸시
git push origin HEAD
일일·시간별 규율 (꼭 지키세요)
git stash
git pull origin main --rebase
git stash pop
다음 상황마다 이 습관을 실행하세요:
- 아침에 가장 먼저
- 새로운 작업을 시작하기 전
- 팀원이 핫픽스를 알릴 때
- 커밋을 푸시하기 전
이 하나의 습관으로 ≈ 95 %의 머지 충돌을 없앨 수 있습니다.
프로 수준 원-라이너 (쉘에 추가)
# ~/.zshrc 또는 ~/.bash_profile
alias sync="git stash push -m 'autosave $(date +%H:%M)' \
&& git pull origin main --rebase \
&& git stash pop"
이제 간단히 실행:
sync
권장 브랜칭 전략 (안전 + 빠름)
| 작업 유형 | 브랜치 이름 예시 | 워크플로 |
|---|---|---|
| 핫픽스 / 긴급 | hotfix/double-payment | PR과 함께 main에 직접 (with PR) |
| 기능 (> 1 h) | feat/donation-progress-bar | 브랜치 → PR → 리뷰 → 머지 |
| 버그 수정 | fix/invalid-goal-calculation | 브랜치 → PR |
| 리팩터 / 잡일 | refactor/extract-payment-service | 브랜치 → PR |
예시: 올바른 기능 브랜치 시작하기
git pull origin main --rebase
git checkout -b feat/share-fundraiser-buttons
# ... 작업 ...
git add .
git commit -m "feat: add social sharing for fundraisers"
git push -u origin feat/share-fundraiser-buttons
# → GitHub에서 Pull Request 열기
Conventional Commits (팀이 고마워할 규칙)
feat:새 기능 추가fix:버그 수정docs:문서 전용 변경style:포맷, 세미콜론 누락 등refactor:버그도 아니고 기능도 아닌 코드 변경perf:성능 개선test:테스트 추가·수정chore:빌드 프로세스·보조 도구 변경
예시
git commit -m "feat: add fundraiser short link sharing"
git commit -m "fix: prevent negative donation amounts"
git commit -m "refactor: extract donation validation logic"
충돌 해결 ( stash pop 이 실패했을 때)
git stash pop
# → payments/views.py 파일에서 충돌 발생
-
>>>>>>마커를 수동으로 고칩니다. -
해결된 파일을 스테이징:
git add payments/views.py -
커밋 (
-m옵션 필요 없음; Git이 머지 커밋 메시지를 생성):git commit
모든 팀원이 반드시 지켜야 할 골든 룰
- 절대
main에 직접 커밋하지 말 것 (승인된 핫픽스 제외).
빠른 레퍼런스 치트 시트 (고정해 두세요)
# 동기화 유지 (자주 실행)
sync # 만든 별칭
# 또는 수동으로:
git stash && git pull --rebase origin main && git stash pop
# 완료된 작업 푸시
git add .
git commit -m "type(scope): description"
git push
# 새로운 작업을 안전하게 시작
git pull --rebase origin main
git checkout -b feat/your-feature-name
# 긴급 핫픽스
git checkout main
git pull --rebase origin main
git checkout -b hotfix/critical-bug
마무리 말씀
저는 머지 충돌 때문에 하루를 날려버린 팀도 경험했고,
하루에 20번씩 배포하면서도 전혀 문제가 없던 팀도 경험했습니다.
차이는 언제나 같았습니다: 동기화와 브랜칭에 대한 규율.
- 오늘 바로 이 워크플로를 채택하세요.
- 코드 리뷰에서 강제하세요.
- 온보딩 문서에 포함시키세요.
미래의 여러분과, Git 때문에 외치던 모든 동료들이 감사할 것입니다.
이제 전문가처럼 협업하세요.
2025년에 최소 47번의 분노 퇴장을 막아드렸습니다. 천만에요.