Yjunyoung
2020. 3. 3. 22:08
1. 설정하기
# git config --global user.name "이름" |
Git에서 커밋할 때 기록할 이름을 설정 |
# git config --global user.email "이메일" |
Git에서 커밋할 때 기록하는 이메일 설정 |
2. 저장소생성
# git init 저장소이름 |
명령을 실행한 위치에 <저장소이름>으로 저장소를 만듬 |
# git clone 저장소주소 |
<저장소주소>의 원격 저장소를 클론 |
3. 변경 내역 다루기
# git status |
저장소의 상태 확인. 추적하지 않는 파일, 추적 중이지만 변경되어 커밋해야하는 파일 등 보여줌 |
# git diff |
마지막 커밋과 현재 변경된 내용을 비교해 보여줌 |
# git add 파일이름 |
버전 관리를 하기 위한 파일 추적 시작. stage에 add |
# git reset 파일이름 |
변경 내역이 생겨서 git add 명령을 실행해 커밋할 준비가 된 파일을 Staging 영역에서 제거. 파일의 변경 내역은 보존 |
# git commit -m "커밋설명메시지" |
git ad 명령을 실행해 커밋할 준비가된 (staged 상태인) 파일을 로컬 저장소에 <커밋설명메시지>로 커밋 |
4. 브랜칭
# git branch |
저장소에 있는 브랜치 목록과 현재 브랜치를 보여줌 |
# git branch 이름 |
<이름>으로 브랜치를 만듬 |
# git checkout 브랜치이름 |
<브랜치이름>으로 현재 작업중인 브랜치 변경 |
# git merge 브랜치이름 |
현재 작업중인 브랜치에 <브랜치이름> 브랜치를 가져와 병합 |
# git branch -D 브랜치이름 |
<브랜치이름> 브랜치를 삭제 |
5. 추적 중인 파일 삭제와 변경
# git rm 파일이름 |
저장소에서 버전 관리중인 파일을 삭제. 그와 더불어 로컬 파일도 삭제. 삭제 기록이 저장소에 남음 |
# git rm --cached 파일이름 |
저장소에서 버전 관리 중인 파일만 삭제. 로컬 파일은 그대로 남음 |
# git mv 파일이름 변경파일이름 |
저장소에서 버전 관리중인 파일의 이름(혹은 경로)을 변경. 변경 기록이 저장소에 남음 |
6. 커밋하지 않은 상태로 임시보관
# git stash |
Staged 상태에 있는 커밋되지 않는 변경 내역을 stash라는 임시공간에 저장 |
# git stash pop |
stash에 마지막으로 저장된 변경 내역을 현재 브랜치에 적용 |
# git stash list |
stash에 저장된 변경 내역의 목록을 출력 |
# git stash drop |
마지막으로 저장된 변경 내역을 삭제 |
7. 내역 살펴보기
# git log |
현재 브랜치의 버전 내역을 출력 |
# git log --follow 파일이름 |
파일의 변경 내역들을 출력. 파일 이름의 변경까지 포함한 내역을 출력 |
# git diff 브랜치 ... 다른브랜치 |
대상이 되는 두 브랜치 사이의 파일들을 비교해 다른점들을 출력 |
# git show 커밋 |
대상 커밋의 메타데이터와 변경 내역을 출력 |
8. 커밋 취소하기
# git reset 커밋 |
대상 커밋 이후에 생긴 모든 커밋을 취소. 하지만 커밋과 함께 변경된 내역은 로컬 저장소에 남겨둠 |
# git reset --hard 커밋 |
대상 커밋 이후에 생긴 모든 커밋과 변경 내역을 대상 커밋 시점으로 되돌림 |
9. 원격 저장소와 동기화
# git fetch 원격저장소이름 |
원격 저장소의 모든 변경 내역을 로컬 저장소에 다운로드 |
# git merge 원격저장소이름/브랜치이름 |
원격 저장소의 대상 브랜치를 현재 작업중인 브랜치에 병합 |
# git push 원격저장소이름 브랜치이름 |
로컬 브랜치의 모든 커밋을 원격 저장소의 대상 브랜치에 업로드 |
# git pull 원격저장소이름 |
git fetch와 git merge 명령을 차례로 실행하는 것과 같은 명령. |