-
[GitHub] 원격 저장소에 branch를 생성한 뒤, 로컬에서 작업할 때, 생길 수 있는 문제협업 Tool/Github 2024. 4. 12. 13:44
상황 설명
강의를 보면서 깃 플로우 연습을 하고 있었다. 아래 사진 처럼 두 개의 창을 띄워 놓고 하고 있었다.
왼쪽 창은 강의를 보면서 따라 하고 오른쪽 창은 혼자서 먼저 한 다음 강의를 틀고 맞는 지 뭘 틀렸는 지 확인 하며 하고 있다.
뭘 하고 싶었는가?
원격 저장소(깃허브)에서 브랜치를 먼저 생성한 뒤 로컬(vscode)에서 브랜치를 가져와 작업하고 싶었다.
(강의를 보면서 따라한 왼쪽 창)
1) 로컬에서의 branch 목록을 보여주는 명령어로 현재 main 만 있음을 확인할 수 있다.
2) 원격저장소(GitHub)에서의 branch 목록을 보여주는 명령어로 현재 origin.main 만 있음을 확인할 수 있다.
최소한 3번 과정 들어가기 전에 Github에서 branch를 생성해야됨.
3) 깃 동기화 작업이고 원격저장소(GitHub)에서 생성한 branch가 로컬과 동기화 되었다.
4) 원격저장소(GitHub)에서의 branch 목록을 보여주는 명령어로 추가 되있음을 확인할 수 있다.
5) 로컬에서의 branch 목록을 보여주는 명령어로 추가하고자 하는 브랜치가 추가되지 않음을 알 수 있다.
6) 해당 명령어를 통해 feature/1 을 추가하였다.
7) 로컬에서의 branch 목록을 보여주는 명령어로 추가하고자한 브랜치가(feature/1) 잘 추가되있음을 확인할 수 있다.
더보기✅ TIP)
git checkout -t : 로컬에 존재하지 않는 원격 브랜치를 로컬에 생성하고 해당 원격 브랜치를 추적하는 브랜치로 체크아웃합니다.
ex) origin/feature/1 이라는 원격 브랜치가 있고 이를 로컬에서 추적하고 싶을 때, 아래와 같이 사용할 수 있다.git checkout -t origin/feature/1
그래서 뭐가 문제냐?
--> 내가 오른쪽에서 혼자 따라하다가 -t 는 처음 배운 개념이라 나도 모르게 ... 자세한 설명은 아래 사진을 보면서 ....
1) 해당 명령어를 사용, 원격저장소에 있는 브랜치 확인했고
2) 동기화를 진행했다.
3) 동기화가 잘된 것을 확인할 수 있었다.
4) 로컬에서 브랜치도 확인했고
5) 여기서 부터가 문제의 시발점이다.
git checkout -t origin/feature/2 // 이렇게 했어야 됐는 데
git checkout origin/feature/2 // -t를 생략하고 진행해버림 엔터치고 뭔가 쫘르르르륵 나오길래 내 마음도 오열
6) 알 수 없는 말이다... ChatGPT 형님께 여쭤보자.
+ 구글링에 의하면 detached HEAD를 직역하자면 "헤드에 떨어져 있는" 이다. (브렌치로부터.) 즉, branch를 통해서가 아니라 "직접 다이렉트로 commit을 참조"하고 있는 상태이다.
참고 블로그 : https://devcamus.tistory.com/67) 이 때, 앗 그래도 Note : swicthing to origin/feature/2 라 했으니깐 됐나? 하고 해당 명령어를 쳤지만
8) ??? 처음 보는 (HEAD detached at origin/feature/2) 가 보였다....
9) 에라 모르겠다. 그냥 다시 원래 시도하려고 한 아래 명령어를 쳤다.
git checkout -t origin/feature/2 // 이렇게 했어야 됐는 데
10) 괜히 원격저장소에 잘 있나 확인도 해주고.......
11) 체크아웃하고 한번 더 해주고
12) 체크아웃 한 뒤 재시도
13) 오타입니다.
14) 로컬 브랜치 확인해 봤지만 없네....
15) ChatGPT 형님 말 들어보자 하고 시도
16) ㅎ.ㅎ 성공입니다.
요약
1. 원격 저장소에 브랜치를 생성한 뒤
2. 로컬에서 잘못 체크아웃했다면
3. git switch -c <브랜치명>
4. 을 사용해서 로컬에서 잘 들어가주자.
'협업 Tool > Github' 카테고리의 다른 글
[GitHub] vscode source control 10k 완벽하게 지우기, 쉽게 GUI로 (0) 2024.04.26 [GitHub] E325 : ATTENTION (0) 2024.04.17 [GitHub] 원격 브랜치 삭제했지만, 로컬 브랜치 남아있는 이유? (feat. vscode) (2) 2024.04.12 [GitHub] git branch 삭제 (0) 2024.04.12 [GitHub] Everything up-to-date (0) 2024.04.11