

Git GUI 툴인 Fork(git-fork.com) 를 사용하다 보면, 좌측 사이드바의 Branches 목록에서 잘 작업하던 브랜치 옆에 경고 느낌표(!) 아이콘이 표시되는 경우가 있습니다.
갑자기 느낌표가 뜨면 내 코드에 치명적인 충돌이나 에러가 발생한 것은 아닌지 당황하기 쉬운데요.
이번 글에서는 Fork에서 브랜치 옆에 느낌표 아이콘이 뜨는 정확한 원인 과 상황별 대처 및 정리 방법 을 정리합니다.
1. Fork 브랜치 아이콘의 의미와 느낌표(!)의 정체
Fork는 로컬 브랜치와 원격 저장소(upstream/origin)의 추적 상태를 시각적으로 구분할 수 있도록 3가지 형태의 아이콘을 제공합니다.
| 브랜치 아이콘 상태 | 의미 |
|---|---|
| 일반 브랜치 아이콘 | Local only: 아직 원격에 푸시하지 않은 순수 로컬 브랜치 |
| 화살표가 포함된 아이콘 | Pushed upstream: 원격 저장소의 브랜치와 정상적으로 연결 및 동기화된 상태 |
| 경고 느낌표(!) 아이콘 | Remote branch removed: 원격에 푸시했었으나, 원격 브랜치가 삭제된 상태 |
즉, 느낌표(!)는 코드가 깨진 것이 아니라 "이 로컬 브랜치가 바라보고 있던 원격(Remote) 브랜치가 GitHub/GitLab 등에서 이미 삭제되었습니다" 라는 일종의 연결 끊김 알림(Orphaned Branch)입니다.
2. 왜 원격 브랜치가 삭제되었을까?
보통 팀 협업 환경에서 다음과 같은 작업이 일어났을 때 느낌표가 나타납니다:
- Pull Request(PR) 머지 후 원격 브랜치 자동 삭제
- GitHub이나 GitLab에서 PR이 통과되어
main또는develop에 머지된 후, "Delete branch" 버튼을 눌러 원격 브랜치를 삭제한 경우입니다.
- GitHub이나 GitLab에서 PR이 통과되어
- 동료 개발자가 작업 완료 후 원격 브랜치를 정리한 경우
- Fetch with Prune 실행 후 갱신
- Fork에서
Fetch (with Prune)를 수행하면서 로컬이 원격의 최신 삭제 내역을 감지했을 때 느낌표로 전환됩니다.
- Fork에서
3. 상황별 해결 및 대처 방법
느낌표 아이콘을 발견했다면 현재 작업 상태에 따라 아래 두 가지 중 하나로 조치하시면 됩니다.
상황 1: 이미 PR이 머지되어 작업이 완전히 끝난 경우 (가장 흔함)
원격에서 이미 머지되어 삭제된 브랜치이므로, 내 컴퓨터(로컬)에 남아있는 해당 브랜치도 안전하게 삭제하여 목록을 정리하면 됩니다.
- 좌측 사이드바
Branches에서 느낌표(!)가 뜬 브랜치를 우클릭합니다. Delete '브랜치명'…을 클릭합니다.- 팝업 확인창에서 삭제를 완료하면 사이드바가 깔끔해집니다.
상황 2: 아직 작업 중인데 실수로 원격 브랜치가 지워졌거나 다시 올려야 하는 경우
로컬에 작성된 커밋들은 그대로 남아있으므로, 원격 저장소에 다시 푸시해주면 느낌표가 사라지고 정상 동기화 아이콘으로 돌아옵니다.
- 해당 브랜치를 더블 클릭하여 체크아웃(Checkout) 합니다.
- 상단 툴바의
Push버튼을 클릭합니다. Push to:항목에 대상 원격 저장소(origin)를 지정하고 푸시를 진행합니다.- 원격에 브랜치가 다시 생성되면서 느낌표 아이콘이 사라집니다.
💡 추가 꿀팁: 원격에서 지워진 브랜치 한 번에 감지하기 (Prune)
GitHub 웹상에서 브랜치를 삭제했더라도 로컬 Fork에서는 여전히 남아있는 것처럼 보일 수 있습니다. 주기적으로 원격의 삭제 상태를 로컬과 동기화하려면 Prune 옵션을 켜두는 것이 좋습니다.
- Fork 상단 툴바
Fetch클릭 ➔Prune tracking branches no longer on remote체크 ➔ Fetch 실행
이렇게 하면 원격에서 사라진 브랜치들을 한 번에 스캔하여, 로컬 브랜치에 느낌표(!)를 즉시 띄워주므로 불필요한 브랜치를 제때 정리할 수 있습니다.
'코드버전관리(git, svn)' 카테고리의 다른 글
| [Fork GUI 꿀팁] 사이드바 드래그 앤 드롭으로 브랜치 병합(Merge) 및 리베이스(Rebase) 초간단 처리법 (0) | 2026.09.10 |
|---|---|
| [Fork GUI] 로컬 브랜치를 원격(origin) 상태로 완전히 강제 일치시키기 (Hard Reset 가이드) (0) | 2026.09.09 |
| [Fork GUI 매뉴얼] Fork한 저장소에서 원본(Upstream) 최신 커밋 깔끔하게 가져오기 (Rebase 가이드) (1) | 2026.09.06 |
| [GIT] pull 대기목록 확인하는 방법 (0) | 2026.08.22 |
| [TortoiseGit GUI] 클론(Clone)과 특정 브랜치 체크아웃(Checkout) 한 번에 끝내기 (0) | 2026.08.21 |
