git 차이보기

병합 전에 제대로 차이를 보자.

【상정】
현재 브랜치: issue001-fix-xxx
병합 대상 브랜치: master

~~~ 프로그램 수정 후 ~~~

마지막 커밋 (HEAD)과의 차이


git diff HEAD

스테이징 영역과 HEAD의 차이


git diff --staged
git diff --cached

스테이징 에리어라고 하는 것은 add한 파일군입니다. 그건 그렇고 --staged와 --cached는 같은 결과입니다. 좋아하는 사람을 부디

~~~ 커밋 ~~~

자신이 한 커밋 확인


git log -p --name-only (修正したファイル一覧)
git log -p (変更内容差分, ファイル名を引数で渡すと単体で指定可)
git log -p --ignore-space-change (スペースや改行で差分が見づらいとき)

~~~ 병합 대상(master)으로 전환( git checkout master )
편집 도중에 파일이 남아 있기 때문에 할 수 없다고 말하면
다음 중 하나를 실행 한 후 체크 아웃
git checkout .  (編集内容を取り消す(HEADの状態に戻す))←※コミットした内容は消えません
git stash save (編集内容をスタックする(後で取り出せます))

마스터 브랜치를 최신으로 업데이트 (master 브랜치)


git  pull --rebase origin master

원격 업데이트를 그대로 가져올 뿐이므로 --rebase

타인의 업데이트 확인


git log --oneline 
(念のため自分の状態も確認しておきたい人は下記コマンド )
git status -s 

끌어오기 요청에서 볼 수 있는 차이점 확인


git diff master...issue001-fix-xxx
git diff [マージ先ブランチ]...[マージ元ブランチ] 는 병합을 통한 수정을 프로그램 단위의 차이로 볼 수 있습니다. (※ 진짜는 커밋 단위로도 보고 싶습니다만, 그 방법은 모릅니다. 알고 싶다

추가) 커밋 단위 -> Qiita-[Git] 브랜치 간의 차이를 커밋 단위로 알아보기
Qiita - 끌어 오기 요청에 표시되는 차이점의 작동 방식을 GitHub에 문의 할 때의 이야기

막상 병합!


git merge --no-ff issue001-fix-xxx

이 경우 --no-ff로 병합 커밋을 확실히 남겨 둡시다.
git log --author [自分の名前]마스터에게 자신이 만든 커밋이 제대로 병합됩니다.

수고하셨습니다!git revert 이나 reset , reflog 등의 취소, 수정 방법이나,stash 이나 blame 등의 멋진 커맨드에 관해서는 나중에 다른 투고에서 소개할 예정입니다.



과거에 쓴 Git 관련 기사



Qiita - 아무것도 모르는 사람이 Git과 GitHub를 독학적으로 알고 있습니다.
Qiita-git checkout 할 수 없을 때 나는 이렇게한다.
Qiita - 끌어 오기 요청에 표시되는 차이점의 작동 방식을 GitHub에 문의 할 때의 이야기
Qiita-브랜치 간의 차이를 커밋 단위로 알아보기

좋은 웹페이지 즐겨찾기