모든 브랜치를 보고 싶을 때
git branch -av |
특정 브랜치/commit 으로 바꾸고 싶을 때
git checkout [branch 명/commit number] |
내가 있는 경로의 git remote 저장소를 알고 싶을 때
git remote -v |
gerrit push 명령어
git push refs/heads/[branch 명] // <예시> // master 브랜치에 push 하고 싶을 경우 // $ git push refs/heads/master |
gerrit push 가 안될 경우?
→ commit message 에 Change-Id 가 없을 가능성이 큼.
→ 관련한 명령어는 추후 추가 예정. 보통은 error 메세지에 나온 명령어 그대로 입력하고 git commit --amend 로 commit 하면 Change-Id 가 추가 되어 다시 push 를 하면 push 가 됨.
Commit 한 뒤에 Commit 한 파일을 수정하고 싶을 때
// 수정하고 싶은 사항 수정 후, git status 로 수정한 파일 확인 git add [수정한 파일] git commit --amend |
N개 Commit 을 patch 파일로 만들고 싶을 경우
git format-patch -[N] // <예시> // 최신 commit 부터 3개 commit 을 patch 파일 생성하고 싶을 경우 // $ git format-patch -3 |
* patch 파일과 diff 파일의 차이
: git diff 로 생성판 파일은 파일을 수정한 내용만 있고 git format-patch 로 생성한 파일은 내부를 보면 소스 코드 수정 사항과 함께 commit 까지 포함되어 있다. commit message 까지 같이 전달하고 싶으면 git format-patch 로 patch 파일을 생성하여 전달하면 되고, 소스 코드 수정 사항만 내보내고 싶으면 git diff 로 diff 파일을 만들어 전달하면 된다.
staged 에 수정한 사항을 diff 로 저장하고 diff 파일을 적용할 때
// test.diff 에 수정 사항 저장 git diff > test.diff // test.diff 를 적용 git apply test.diff |
commit 한 사항을 patch 파일로 저장하고 patch 파일을 적용할 때
// commit 2개를 patch 파일로 만들기 git format-patch -2 // test.patch 파일을 git에 적용하기 git am test.patch |
모든 수정 사항을 초기화하고 HEAD 로부터 commit N 개 아래 상태로 돌리고 싶을 때
git reset --hard HEAD~[N] // <예시> // 최신 commit 에서부터 2개 이전 commit 으로 돌아가고 싶을 때 // git reset --hard HEAD~2 |
* 신규로 생성한 파일은 지워지지 않는다.