https://gin-girin-grim.tistory.com/10 참고하기
git init
: 해당 디렉토리의 버전관리를 시작한다. (.git 생성)
git status
: 현재 상태를 본다
git add 파일이름(확장자 빼먹지 말기)
: 특정 파일의 버전관리를 시작한다
git config --global user.name 유저이름
: 유저이름을 등록한다.
git config --global user.email 0000@gmail.com
: 0000@gmail.com 이라는 메일주소를 등록한다.
git commit
: 변경사항을 버전으로 등록한다.
- git commit -a: 변경사항을 전부 버전 등록한다
(별도의 add가 필요없음. 단 맨 처음에 한번은 add가 필요)
- git commit -m "msg": msg를 커밋 메세지로 해서 버전 등록한다.
- git commit --amend: 바로 전 커밋 메세지를 수정한다.
git log
: 버전관리 기록을 볼 수 있음
- git log -p : 파일 안의 변경기록을 함께 볼 수 있음
- git log 특정버전id : 특정 버전 이전의 기록만 보여줌
- git log --branches --decorate: 모든 브랜치들의 버전 상태를 보여줌
- git log --branches --decorate --graph: 그래프(그림)로 모든 브랜치들의 버전 상태를 보여줌
- git log --branches --decorate --graph --oneline
: 한 줄 씩의 그래프(그림)로 모든 브랜치들의 버전 상태를 보여줌
- git log branch1..branch2: branch2에는 있고 branch1에는 없는 버전들을 보여줌
- git log branch2..branch1: branch1에는 있고 branch2에는 없는 버전들을 보여줌
- git log -p branch2..branch1: b1에는 있고 b2에는 없는 버전들의 차이점을 소스코드로 보여줌
- git log --reverse: 시간순서 거꾸로 로그 보기
git diff
: 현재와 이전 버전 사이의 차이점을 보여줌
- git diff 버전id1 버전id2 (또는 git diff 버전id1..버전id2): 버전1과 버전2 간의 차이점을 보여줌
- git diff 브랜치id1 브랜치id2 (또는 git diff 브랜치id1..브랜치id2): 브랜치1과 브랜치2 간의 차이점을 보여줌
git reset 특정버전id --hard
: 특정 버전이 최신상태가 되도록 만듦
- git reset --hard / git reset --head HEAD: 제일 최근의 버전이 최신상태가 되도록 만듦
git branch exp
: exp라는 이름의 브랜치를 생성 (현재 브랜치의 복사 브랜치를 생성)
git branch -d exp
: exp라는 이름의 브랜치 삭제
- git branch -D exp: 강제로 삭제
git checkout branch1
: branch1라는 이름의 브랜치로 들어가기
- git checkout commitid: 해당 commit id의 commit으로 들어가기
git checkout -b iss53
: git branch iss53 / git checkout iss53를 동시에 하는 의미
git stash / git stash save
: 작업 중인 상황을 저장 (add되어 버전관리 중인 파일에만 적용됨)
- git stash apply: stash로 저장되었던 가장 최신 상황을 불러오기
- git stash list: stash로 저장된 상황 목록 보기
- git stash drop: 가장 최신 stash 상황을 삭제
- git stash pop: git stash apply와 git stash drop을 한번에 해 줌
merge의 경우 (exp 브랜치를 master 브랜치로 병합하려는 경우)
1. master 브랜치로 이동한다.
2. git merge exp
브랜치 간에 파일이 다르면 자동으로 합쳐진다.
git remote add origin 주소
: 현재 저장소에 원격 저장소를 연결하고 원격 저장소의 별명을 origin으로 지정한다.
- git remote: 연결된 원격 저장소를 확인
- git remote remove origin
: 현재 저장소에 연결되어 있는 원격 저장소를 해제한다.
- git remote -v: 원격 저장소를 자세하게 보여준다.
git push --set-upstream origin master
: origin 원격 저장소에 master 브랜치를 push하도록 설정한다(--set-upstream).
- git push -u "원격저장소" "현재 브랜치명"
: 명령어를 날릴 때 마다 저장소명과 브랜치명을 입력하는 게 귀찮아질 때 -u 옵션을 사용하면 최초에 한 번만 저장소명과 브랜치명을 입력하고 그 이후는 모든 인자를 생략 가능하다.
이후에는 인자 생략하고 git push만 하면 됨
git clone url주소.git dir1
: dir1 디렉토리에 url주소의 저장소를 복제한다.
- git clone url주소.git .
: 현재 디렉토리에 url주소의 저장소를 복제한다.
git config --global push.default simple
: 현재 사용 중인 브랜치만 원격 저장소에 push 하는 옵션이다.
--global : 현재 로그인된 user에 적용됨
--global 이 없으면 현재 저장소에만 적용됨
- git config --global push.default matching
: 로컬과 원격 저장소의 브랜치 이름이 동일한 모든 브랜치를 push하는 옵션이다. 이 경우, 원하지 않는 브랜치가 원격으로 push 될 수 있어서 simple을 기본으로 사용한다.
git pull origin <branch_name>: origin 원격저장소에서 특정 브랜치를 pull해온다.