몇번을 해봐도 자꾸 까먹는 Git 명령어. "기억보단 기록을" 이라는 향로 개발자님의 블로그 명이 떠오른다.
--global
옵션으로 설정하는것은 처음의 딱 한번만 하면 되며, 프로젝트마다 다른 이름과 이메일 주소를 사용하고싶다면 --global
옵션을 빼고 실행합니다.git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
git config --global --list
명령어로 확인 가능합니다.git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -nosession"
git config --list
git init
git clone https://github.com/Bluewind8791/...
git 에서 관리되는 파일의 라이프 사이클에는 아래와 같이 4단계가 있습니다.
git status
add
명령어로 Untracked 상태인 파일을 Tracked 상태로 변경할 수 있으며, Modified 파일을 Staged 상태로 변경할 수 있습니다.# README 파일만 add
git add README
# 확장자가 c 인 파일만 add
git add *.c
# 디렉토리 내의 모든 파일 add
git add .
Modified 된 파일을 Staged 상태로 커밋하기 위하여 아래의 명령어를 실행합니다.
git commit
git push <리모트 저장소 이름> <브랜치 이름>
의 구성으로 되어 있습니다.git push origin main
리모트 저장소에서 데이터를 가져오려면, pull 과 fetch 두가지 방법이 있습니다.
git fetch origin
git fetch {원격 저장소 이름}
git pull
git pull
명령으로 리모트 저장소 브랜치에서 데이터를 가져올 뿐만 아니라 자동으로 로컬 브랜치와 Merge 시킬 수 있습니다.git remote
명령으로 현재 프로젝트에 등록된 리모트 저장소를 확인할 수 있습니다.$ git remote
origin
-v
옵션을 주어 단축이름과 URL을 함께 볼 수 있습니다.$ git remote -v
origin https://github.com/Bluewind8791/project (fetch)
origin https://github.com/Bluewind8791/project (push)
git remote add {저장소 이름} {url}
git remote add pb https://github.com/Bluewind8791/project
git remote rename {origin 저장소 이름} {rename 저장소 이름}
git remote rename pb paul
git remote remove paul
branch(나뭇가지) 는 말 그대로 기존의 줄기에서 다른 줄기로 뻗어 나가는것을 의미합니다.
예를 들어, 새로운 기능을 추가해서 테스팅 할 때 유용하게 사용할 수 있습니다.
물론 이 기능이 마음에 들어서 main 브랜치로 병합할 수 도 있습니다.
git branch
명령은 브랜치를 만들기만 하고 브랜치를 옮기지 않습니다.git branch {branch name}
git checkout
명령으로 다른 브랜치로 이동할 수 있습니다.git checkout {branch name}
git checkout
명령에 -b
라는 옵션을 추가합니다.git checkout -b hotfix
git merge
명령으로 아래와 같이 합니다.$ git checkout master
$ git merge hotfix
-d
옵션을 주면 삭제할 수 있습니다.git branch -d hotfix