포스팅 이유프로젝트를 개발 중에 가끔 팀원의 원격브랜치가 다른 환경에서도 잘 되는지 테스트를 해야 할 때가 있다.팀원이 PR을 올리고 Merge를 해야 할까?방법을 알아보자. Detached HEAD(분리된 HEAD) 상태로 원격 브랜치 체크아웃현재 내가 작업하고 있는 로컬 환경에서 팀원의 원격 브랜치의 최신 커밋으로 이동하는 명령어가 있다.# origin은 원격 별칭git checkout origin/브랜치명# origin은 원격 별칭git switch --detach origin/브랜치명위 두 방식은 로컬 브랜치 생성 없이 해당 커밋(원격 브랜치의 최신 커밋)으로 이동한다.이 상태에서 새로운 커밋을 만들면 임시 상태(분리된 HEAD)로 남아, 브랜치로 관리되지 않기에 작업을 더 하려면 별도의 브랜치..
git version 2.41.0.windows.1을 기준으로 작성 git init깃(git)을 사용하기 위한 명령어로 .git 디렉토리가 생성된다.현재 프로젝트에서 변경사항 추적(버전 관리)을 시작. git config깃(git)을 사용하기 위한 설정 값을 입력, 확인할 수 있다.개행문자(new line) 설정은 내 깃허브(github)에 올린 소스코드를 다른 사람이 사용할 때 내 운영체제와 다르면 개행 문자 때문에 오류가 발생할 수 있는 것을 방지한다. ### 현재 프로젝트에만 설정하는 경우# 이름, 이메일을 지정git config user.name git config user.email # 개행문자 설정git config core.autocrlf input # macgit config core.au..
git에서 소스트리를 사용하는 이유는 간편한 동작과 한 눈에 알 수 있는 커밋 트리 구조 때문이라고 생각합니다. 근데 소스트리 없이 CLI로 커밋 트리를 알 수 있는 명령어와 옵션이 있습니다. git log --graph --graph 옵션은 --oneline, --all, --decorate 와 함께 사용하는 것이 좋습니다. --oneline : 각 커밋마다 한 줄로 간략하게 표시 --all : 로컬, 원격 저장소의 커밋 모두를 표시 --decorate : 커밋을 가리키는 모든 참조(예: 브랜치, 태그 등)를 표시 아래 이미지를 보면 왼쪽에 소스트리에서 보던 트리 구조가 보이는 것을 알 수 있습니다.
1. 원격저장소와 로컬저장소의 브랜치 간의 버전이 다른 상태로 push할 경우 (이해를 돕기 위한 예시😉) 베테랑 작가와 신인 작가가 서로 협업하여 드라마 대본을 작성한다고 가정해보자. 그리고 두 작가가 결말 직전까지 완성한 대본을 연예기획사에 보내 캐스팅을 진행 중인 상황이다. 이때, '연예기획사가 원격저장소, 두 작가는 각각의 로컬저장소' 라고 할 수 있다. 그리고 결말 직전의 대본이 최신 버전이라고 할 수 있다. 근데 두 작가는 서로 원하는 결말이 달라 고민을 하던 차에 한 가지 방법을 제시한다. 먼저 결말을 작성하여 연예기획사에 보내는 쪽의 결말로 대본을 완성하자고. 그렇게 일 주일이 흐르고, 신인 작가가 기획사에 결말을 보낸다. 그런데 웬걸? 이미 하루 전에 베테랑 작가가 결말을 보냈고 기획사는..