Quick Reference
Changes에서 커밋 범위를 골라 로컬 브랜치에 커밋하고 Push로 원격에 보내며, Pull Request는 base에 병합하자는 제안일 뿐 자동으로 병합하지 않습니다.
| 화면 또는 동작 | 바로 확인할 것 | Git 상태 |
|---|---|---|
Current Repository | 지금 열려 있는 로컬 저장소 | 이 저장소의 작업 트리만 바뀝니다. |
Current Branch | 커밋할 브랜치가 맞는지 | 전환하면 작업 트리와 기준 커밋이 바뀝니다. |
Changes | 파일별 diff와 이번 커밋 포함 여부 | 커밋할 변경을 고르는 단계입니다. |
Commit to <branch> | 메시지와 선택한 변경 | 로컬 브랜치에만 새 커밋이 생깁니다. |
Push origin | 전송할 커밋 수와 대상 원격 | 원격 브랜치가 로컬 커밋을 받습니다. |
Create Pull Request | base와 compare 브랜치 | GitHub 웹에서 변경 제안을 엽니다. 병합은 하지 않습니다. |
화면과 Git 상태를 연결하기
Changes에서 diff를 확인하고 포함할 파일을 고른 뒤 커밋하면, 선택한 내용이 로컬 브랜치의 다음 커밋이 됩니다. 이 시점에는 동료와 GitHub 저장소가 아직 바뀌지 않습니다. Push origin을 실행해야 원격 브랜치에도 그 커밋이 전달됩니다.
파일 편집
-> Changes에서 diff 검토
-> Commit to feature/login # 로컬 커밋
-> Push origin # 원격 feature/login 갱신
-> Create Pull Request # GitHub에서 리뷰 요청선택한 파일이 정말 독립적인 변경인지 확신이 서지 않으면 commit 전에 diff를 다시 읽습니다. GitHub Desktop의 선택은 커밋 범위를 정하는 편의 기능이지, 섞인 변경을 자동으로 이해해서 나누어 주는 기능은 아닙니다.
터미널 확인도 그대로 통합니다.
git status --short
git log --oneline origin/main..HEAD
git diff origin/main...HEAD원격과 Pull Request
Fetch origin은 원격 변경을 가져와 원격 추적 브랜치를 갱신하지만, 현재 작업 파일을 바꾸지는 않습니다. Pull origin은 가져온 변경을 현재 브랜치에 통합하므로 충돌이 날 수 있습니다. 반대로 Push origin은 내 로컬 커밋을 원격에 보내는 동작입니다. 같은 화살표 아이콘처럼 보여도 방향과 결과가 다릅니다.
Pull Request는 원격에 push된 브랜치를 다른 브랜치에 병합하자고 제안하는 협업 단위입니다. Create Pull Request를 눌러도 자동으로 merge되지 않으므로, base 브랜치와 변경 범위를 확인하고 리뷰가 끝난 뒤 팀의 병합 절차를 따릅니다.
주의할 점
GitHub Desktop은 GitHub 중심의 일상 흐름을 빠르게 처리하지만, 버튼 하나가 작업을 되돌릴 수 있게 만들지는 않습니다. 특히 Pull, branch 전환, discard, force push 전에는 현재 브랜치와 저장하지 않은 변경을 확인하세요. rebase나 복구처럼 히스토리의 의미를 정확히 읽어야 하는 작업은 명령줄 카드와 함께 판단하는 편이 안전합니다.
참고 링크
3 sources