명령어 | 설명 |
# git pull | |
# git pull --rebase | git pull 할 때, merge branch가 발생하는 것 방지 |
# git status | |
# git add --all | 수정된 모든 파일/폴더 commit 하기 위한 상태로 만든다. |
# git commit -m "msg" | commit 및 commit 메시지를 만든다. |
# git push origin HEAD:refs/for/'branchName' | 수정된 내용을 Branch에 반영 (gerrit 을 사용할 때) |
# git branch -r | remote의 branch를 보여줌 |
# git ls-remote | remote의 tag, branch 들을 모두 보여준다. |
# git diff | unstaged 상태(git add 전 상태)의 파일을 변경사항을 보여준다. |
# git diff --cached | staged 상태(git add 후 상태)의 파일을 변경사항을 보여준다. |
git log --format="%C(auto)%H" --no-merges -1 | |
git log --format="%C(auto) %h %s" --no-merges --since=2.weeks |
- 수정내용 되돌리기
1. UnStage 상태 일 때 (파일 변경만 해 놓은 상태), | ||
# git checkout . | 전체 파일을 변경을 원래로 돌린다. | |
# git checkout -f (or --force) | 전체 파일을 변경을 원래로 돌린다. ( # git checkout . 와 동일 ) | |
# git checkout filename | 특정 파일을 변경을 원래로 돌린다. | |
# git checkout folderName | 특정 폴더의 변경을 원래로 돌린다. | |
2. Stage 상태 일 때 (git add --all 한 경우) | ||
# git reset | unstage 상태로 바꾼다. ( 변경 상태는 유지 ) | |
# git reset --hard | 모든 파일을 변경을 원래로 돌린다. (파일을 변경전으로 돌림) | |
3. Commit 한 경우 | ||
# git reset --soft HEAD^ | 모든 파일을 stage 상태로 만들고, commit만 취소한다. | |
# git reset HEAD^ | 모든 파일을 unstage 상태로 만들고, commit을 취소한다. | |
# git reset --hard HEAD^ | 모든 파일을 변경을 원래로 돌린다. (파일을 변경전으로 돌림) | |
ref > http://hochulshin.com/git-revert-changes/
- git diff
1. commit된 파일상태와 현재 수정중인 상태 비교 | ||
# git diff | 수정한 파일들의 수정 내용 확인 | |
2. commit된 파일상태와 add된 파일 상태 비교 | ||
# git diff --stated | git add 후에 수정 내용 확인 | |
3. commit간의 상태 비교하기 - HEAD 이용 | ||
# git diff HEAD HEAD^ | 가장 최근의 커밋과 그 전의 커밋을 비교한다 | |
4. commit간의 상태 비교하기 - commit hash 이용 | ||
# git diff 048171 0c747d | commit의 hash 를 이용한 비교, tag 나 branch의 hash로도 가능 | |
5. branch간의 상태 비교하기 - HEAD 이용 | ||
# git diff feature/test origin/master | 서로 다른 Branch 와의 diff | |
'20. Programming > Tools - GIT' 카테고리의 다른 글
Gerrit 에서 HEAD:refs/for/branch 의미 (0) | 2018.11.06 |
---|---|
GIT - Change-Id 자동으로 넣기 (0) | 2018.05.18 |
GIT - commit message (0) | 2018.05.18 |
GIT 기본 파일들 (0) | 2018.05.18 |