Git 사용법
Git 사용
$ git config --global user.name "이름"
$ git config --global user.email "이메일"
Git 명령어
명령 | 기능 |
git clone url [dir] | 기존 프로젝트 복재 |
git add files | 스테이지 영역에 파일 추가 |
git commit | 스테이지 영역의 파일을 저장소에 추가 |
git status | 작업 디렉토리와 스테이지 영여의 파일들의 상태를 조회 |
git diff | 스테이지 영역의 파일과 작업 디렉토리의 파일에 대한 차이를 비교 |
git pull | 원격 저장소에 파일들을 가져와서 현재 가지(branch)들과 합병(merge) |
git push | 원격 저장소에 현재 가지(branch)의 파일들을 합병(merge) |
커밋(commit)
- 커밋할 파일은 스테이지되어야 하며 이후 파일 변경시 다시 스테이지 작업
$ git add <file>
- 스테이지된 파일 취소
$ git reset HEAD <file>
- 커밋시에는 모든 스테이지된 파일이 저장소에 기록 (로컬 저장소)
$ git commit -m "Fixing bug #22"
- 이전에 커밋된 상태 되돌리기
$ git checkout <file>
Status & Diff
- 작업 디렉토리와 스테이지 영역의 파일 상태 비교
$ git status
$ git status -s (간략한 정보)
- 작업 디렉토리와 파일과 스테이지 영역 파일과의 차이 비교
$ git diff
$ git diff --cached (로컬 디렉토리 비교)
Log 조회
- 로컬 저장소에 저장된 모든 변경사항
$ git log
$ git log --oneline (간략한 정보)
$ git log -5 (최근 5개 변경사항)
원격 저장소(Remote Repository) 명령어
명령 | 기능 |
git remote -v | 원격저장소에 대한 정보 확인 |
git fetch <remote> | 원격지에는 존재하나 로컬에는 존재하지 않는 파일들을 가져옴 |
git push <remote> <branch> | 로컬저장소의 파일들을 원격 저장소에 업로드 |
git remote show <remote> | 원격저장소에 대한 상세한 정보를 조회 |
git remote rename <remote> <new-name> | 원격저장소에 대한 이름 변경 |
git remote remove <remote> | 원격저장소에 대한 참조를 제거 |
Pull & Push
- 원격 저장소로부터 파일들의 최신 버전을 로컬 저장소에 복사
$ git pull origin master
- 로컬 저장소의 파일들을 원격 저장소에 복사
$ git push origin master
- origin : 원격 저장소의 URL
- master : 리모트 브랜치의 이름
태깅(Tagging)
- 일반 태그(이름만 붙임)
$ git tag v1.4
$ git tag (태그 리스트 조회)
- 원격 저장소에 태그 전달
$ git push origin v1.5
- 주석 태그(이름, 설명, 서명 정보를 포함)
$ git tag -a -m "my version 1.4"
$ git tag -a v1.2 9fceb02 (9fceb02 해시로 시작하는 커밋에 태그 추가)
Git Alias
- 자주 사용하는 명령을 다른 이름으로 축약해서 사용
$ git config --global alias.cm commit → git cm
$ git config --global alias.st status → git st
$ git config --global alias.last "log -1 HEAD" → git last
SVN & Git
- SVN
: 중앙 집중화된 저장소 채택
: 중앙의 저장소만 파일의 완벽한 이력 정보를 유지
- Git
: 분산 저장소 사용
: 각각의 저장소는 모두 동등한 기능 제공
: 속도가 빠르고 파일들이 중복해서 존재
: 브랜치와 병합이 자주 발생
'Memo' 카테고리의 다른 글
데이터베이스(DB) 기초 (0) | 2020.10.17 |
---|---|
JEB java.lang.NullPointerException 오류 해결 방법 (0) | 2020.07.19 |
코드 작성 기초 (Basic Coding) (0) | 2020.06.02 |
Python(.pyc) 디컴파일 (0) | 2020.05.01 |
CTF 풀 때 도움 되는 사이트 정리 (0) | 2020.04.13 |