Git Command2

fetch rebase 이용

git pull과 비슷하다.
$git fetch
$git rebase origin/master

브랜치 생성

MINGW64 /d/git_test/gittest (master)
$git checkout -b hotfix

MINGW64 /d/git_test/gittest (hotfix)
$git push origin hotfix

다른 브랜치에서 푸쉬한것 가져오기, 자신의 브랜치 푸쉬

MINGW64 /d/git_test/gittest (hotfix)
$git fetch
$git rebase origin/master
$git push origin hotfix

저장소를 리모트 서버와 똑같이 바꾼다.

push 하지 않은 커밋이 모두 날라간다
git reset --hard origin/master

커밋 로그 수정

첫번째 커밋fad1 <--- 리모트 서버에 push 되어 있음
두번째 커밋 13f2 <-- 이하 커밋만 되어 있음 push 안했음
세번째 커밋 6929
네번째 커밋 d2b9
다섯번째 커밋 194f

git rebase -i HEAD~4   <--- 옆과 동일한 명령어이다  git rebase -i fad1

다음과 같이 출력 된다.
"
pick 13f2 22
pick 6929 33
pick d2b9 44
pick 194f 55
"

33, 44 로그 수정을 위해 pick을 "edit"로 바꾸고 저장한다.
"
pick 13f2 22
edit 6929 33
edit d2b9 44
pick 194f 55
"

첫번째 방법, 커밋 로그 수정을 위해 명령을 두번 반복한다.
git gui
   >> "Amend Last Commit"
   >> 로그 수정
   >> Commit
   >> git gui 창닫기
git rebase --continue

두번째 방법, 콘솔 명령으로만 수정하는 방법이 있다.
git commit --amend
    >> 로그 수정
git rebase --continue

커밋 합치기

33, 44에 해당하는 커밋을 22에 합친다.
git rebase -i HEAD~4

다음과 같이 수정한다.
"
pick 13f2 22
squash 6929 33
squash d2b9 44
pick 194f 55
"

squash하면 이전 커밋에 합쳐진다. 여기서는 22에 합쳐진다.