git reset과 작업영역 그리고 merge

2017. 11. 6. 13:02Dev

반응형


리모트 리모트 브럼치와 현재 로컬 브런치 코드 비교

git diff REMOTE-NAME/BRANCH-NAME

git diff origin/master


// pull은 현재 branch에 코드를 merge 시킨다.

// fetch는 FETCH_HEAD 라는 branch 이름으로 로컬에 가져오기만 할 뿐 현재 branch에 코드를 병합시키지 않는다.

git fetch REMOTE-NAME

git fetch origin


pull = fetch merge


// 두 개의 local branch 간의 코드 차이를 보고 싶을 때

git diff BRANCH-NAME..BRANCH-NAME


// 두 개의 local branch의 공통 조상으로 부터 코드 차이를 보고 싶을 때

git diff BRANCH-NAME...BRANCH-NAME



/********** git reset ***********/

reset을 이해하기 위한 사전지식

로컬에서의 3영역 HEAD / INDEX / Working Directory

HEAD commit 된 영역(git commit 하면 요기로)

INDEX staging 된 영역(git add 하면 요기로)

Working Directory 작업하는 영역


직전 commit을 해제(git add 까지만 한 상태로)

$ git reset --soft HEAD~


commit과 add까지 해제

$ git reset --mixed HEAD~


Working Directory까지 이전 버전으로 되돌리기

$ git reset --hard HEAD~


*HEAD~는 HEAD의 부모(직전) 커밋, HEAD~2는 HEAD의 2번째 전 커밋



http://blog.naver.com/PostView.nhn?blogId=parkjy76&logNo=220308638231&categoryNo=73&parentCategoryNo=0&viewDate=&currentPage=1&postListTopCurrentPage=1&from=postView

반응형