목록Git (5)
aeFactory
협업을 하기 위해 git을 이용할 때 구성원들 끼리 commit message의 양식을 통일하지 않는다면 혼란한 git log들과 추적하기 힘든 history를 만날 확률이 높습니다. 따라서 협의를 통해 양식을 가지고 commit message를 작성하는 것이 좋은데, 이때 널리 사용되는 Udacity style에 대해 알아보겠습니다. Udacity git commit message style Udacity Git Commit Message Style Guide에서 제공한 commit message style에 대한 가이드에 따르면 커밋 메시지의 구조는 비어있는 줄로 구분되는 3가지의 영역으로 나뉩니다. type: Subject body footer type 타입은 아래 중 한가지를 갖습니다. type명..
1. checkout switch restore를 함께 다루는 이유 2. switch 3. restore 4. checkout 1. checkout switch restore를 함께 다루는 이유 이 글에서는 $git checkout, $git switch, $git restore의 세 가지 명령어의 사용법에 대해 정리합니다. 세 가지 명령어를 동시에 다루는 이유는 checkout의 역할을 3가지로 쪼개 checkout, switch, restore가 나누어 하도록했기 때문입니다. 지금 switch나 restore를 써야할 곳이 checkout을 쓴다고 동작하지 않는 것은 아니지만 한 명령어는 한 가지 기능만 갖는 것이 좋기 때문에 분리하여 사용하는 것이 좋다고 생각합니다. 2. switch switch ..

1. stash란? 2. git stash 명령어 3. git stash save와 push Stash란? git shash는 현재 하고 있던 작업을 커밋하지 않고 임시 저장할 수 있는 기능입니다. 현재 하고있는 작업보다 우선 순위가 높은 작업이 생기는 경우에 사용할 수 있습니다. 이 경우 stash를 사용하지 않으면 현재 작업 중인 내용을 reset 하거나 작업 내용을 남기고 싶다면 commit하는 방법을 생각해 볼 수 있는데, 작업 내용이 많은 경우 reset은 사용할 수 없고 commit은 공용 브랜치의 경우 미완성의 코드를 commit해서는 안되고 개인 branch인 경우에도 좋은 흐름은 아닙니다. 이 때 git stash를 사용하면 현재까지 작업한 내용을 안전하게 저장했다가 급한 일을 먼저 처리..

1. HEAD란? 2. .git/HEAD 3. 상대 참조 ^ ~ HEAD란? Git에서 HEAD란 일반적으로 현재 활성화된 브랜치의 가장 마지막 commit을 의미합니다. 하지만 현재 특정 commit으로 checkout된 상태라면 해당 commit을 가리키게 됩니다. Git의 많은 명령어들은 HEAD에서 시작하는 경우가 많기 때문에 현재 프로젝트의 HEAD를 파악하고 있어야합니다. HEAD는 포인터입니다. 따라서 일반적인 상황(활성화된 브랜치의 가장 마지막 commit을 가리키고 있는 상황)에서는 branch의 이름을 가리키고 있습니다. 이 때 commit log에 (HEAD -> 브랜치 이름)으로 표시됩니다.. 하지만 checkout을 통해 branch가 아닌 commit를 HEAD가 가리키도록 할 ..

1. Git의 3가지 작업 영역 2. Git이 관리하는 파일의 3가지 상태 3. 파일의 상태에 관한 LifeCycle Git의 3가지 작업 영역 Git의 3가지 작업 영역은 Working Directory, Staging Area, Repository 입니다. 1. Working Directory 프로젝트를 진행하고 있는 폴더 프로젝트를 깃으로 관리하고자 할 때 $git init 한 곳 2. Staging Area commit을 하기 위한 파일을 임시로 모으는 곳 git이 감지한 변화를 $git add하면 'Stage에 올라간다' 라고 표현 Staging Area에 있는 변경 사항들을 필요한 내용만 commit할 수 있음 3. Repository $git init을 통해 생성한 .git 폴더 git을 통..