Reset이나 Revert는 특정시점 이전으로 돌아가는 명령어이다.

차이점은 reset은 특정시점으로 돌아갈때 이력을 남기지 않고 revert는 특정시점으로 돌아가는 revert 명령자체도 이력으로 남긴다는 점이다.

 

ORIG_HEAD ]

reset 전의 커밋은  'ORIG_HEAD'라는 이름으로 참조할 수 있다. 실수로 reset 한 경우에 ORIG_HEAD로 reset 하여 이전버전으로 되돌릴수있다.

$ git reset --hard ORIG_HEAD

'프로젝트 관리 툴 > GIT' 카테고리의 다른 글

Git Log 옵션  (0) 2019.08.19
Git Branch 관리 명령  (0) 2019.08.19
Git Commit 명령  (0) 2019.08.19
github 간단 명령어  (0) 2019.01.10

-- 로컬저장소의 Commit 히스토리를 시간순으로 조회

$ git log

 

-- git log 결과값 

commit ca82a6dff817ec66f44342007202690a93763949      -- SHA-1 체크섬값
Author: Scott Chacon <schacon@gee-mail.com>             -- commit한 계정
Date:   Mon Mar 17 21:52:11 2008 -0700                       -- commit 날짜 

    changed the version number                                   -- commit 메세지

 

-- 최근 2개 commit 비교 (diff)

$ git log -p -2 

 

-- log 히스토리 통계 조회 (변경파일개수 등)

$ git log --stat

 

-- oneline은 커밋내용을 한줄로 요약해서 조회 > commit 내역 한꺼번에 볼때 

$ git log --pretty=[oneline | short | full | fuller]

 

 

이밖에도 날짜, 파일, 작성자, 커밋메세지 별로 조회가 가능 > 차근차근 찾아봐야겠당

 

 

 

'프로젝트 관리 툴 > GIT' 카테고리의 다른 글

Git Reset, Revert 차이  (1) 2019.08.19
Git Branch 관리 명령  (0) 2019.08.19
Git Commit 명령  (0) 2019.08.19
github 간단 명령어  (0) 2019.01.10

[ branch 생성 ] 

$ git branch [새로운브랜치명]    

$ git checkout -b [새로운브랜치명]    -- 생성 & branch이동

 

[ branch 체크아웃 ]                        -- 해당 branch로 이동

$ git checkout [브랜치명]

 

[ branch 삭제 ]

$ git branch -D [브랜치명] 

 

[ branch 조회 ]

$ git branch -vva

 

[ branch head 맞추기 ]

$ git stash                -- 기존에 작업하던내용 임시저장

$ git rebase master    -- 리모트소스 내려받기 

$ git stash apply        -- 임시저장한 내용 적용

'프로젝트 관리 툴 > GIT' 카테고리의 다른 글

Git Reset, Revert 차이  (1) 2019.08.19
Git Log 옵션  (0) 2019.08.19
Git Commit 명령  (0) 2019.08.19
github 간단 명령어  (0) 2019.01.10

소스를 수정하고 commit 한 후에 리모트 레파지토리에 수정사항이 생겨 다시 pull 받았더니 commit 이 두개로 생성되었다. (Your branch is ahead of 'origin/master' by 2 commits.)

로그를 확인해보니 내가 commit 한 버전 1개와 리모트 소스를 pull 받으면서 생긴 merge commit이 추가로 생긴거였다. 처음부터 merge commit 을 남기지 않으려면 pull 받을때 --rebase 옵션을 주면 생기지 않는다고 한다. (git pull --rebase)

내 경우에는 이미 merge commit이 생겨버려서 reset으로 2번째 전 commit으로 돌아가서 다시 진행했다.

 

 

[ 진행순서 ]

$ git commit -m [msg]

$ git pull 

Your branch is ahead of 'origin/master' by 2 commits. 

 

[ 해결 ]

$ git reset HEAD^^ (2개 이전까지 commit 취소) > 변경된파일은 그대로 

$ git add .

$ git commit -m [msg]

$ git push origin HEAD:refs/for/master 

 

 

[ commit 취소명령 ]

$ git reset HEAD^ : 마지막 커밋 취소 but, 변경한 파일은 그대로 존재 
$ git reset --hard HEAD^ : 마지막 커밋 취소하고 변경전 파일로 복구
$ git reset HEAD~n : 마지막 n개 커밋 취소 but, 변경한 파일은 그대로 존재 
$ git reset --hard HEAD~n : 마지막 n개 커밋 취소하고 변경전 파일로 복구

 

 

[ commit amend 옵션 ]

- 코드리뷰 후 수정사항 반영할때 사용 (Change-Id는 유지, Commit-Id는 새로 생성)

- 현재 브랜치의 마지막 커밋을 새로운 커밋으로 대체 (변경이력은 없어지지만 변경된내용은 누적)

$ git commit --amend

$ git push origin master 

 

 

 

참고글 

http://logonluv.blogspot.com/2015/02/git-commit-reset.html

'프로젝트 관리 툴 > GIT' 카테고리의 다른 글

Git Reset, Revert 차이  (1) 2019.08.19
Git Log 옵션  (0) 2019.08.19
Git Branch 관리 명령  (0) 2019.08.19
github 간단 명령어  (0) 2019.01.10

github 에 프로젝트 등록 방법


먼저 로컬pc 의 작업폴더로 이동해서 차례로 진행 

(git 이 설치돼있다는 가정하에..)



$ git init     -- .git 파일이 생성됨 (ls -a 로 확인가능)


$ git add [파일이름]     -- 전체 파일 등록 시 git add . )


$ git commit -m "comment 내용"


$ git remote add origin [git 저장소 url]


$ git push -u origin master



서버에서 github 프로젝트 다운로드


git 설치 후


$ git clone [ git 저장소 ] 



서버에서 github 소스 다운로드


$ git pull



'프로젝트 관리 툴 > GIT' 카테고리의 다른 글

Git Reset, Revert 차이  (1) 2019.08.19
Git Log 옵션  (0) 2019.08.19
Git Branch 관리 명령  (0) 2019.08.19
Git Commit 명령  (0) 2019.08.19

+ Recent posts