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

맥북을 사고 제일먼저 설치한건.. NVM 이다.

처음엔 굳이 필요한가 싶었지만 node를 여러 버전으로 깔다보면 꼬일 가능성이 많다고하여 NVM 으로 버전관리를 해보려고한다.




1. NVM 설치방법


nvm 을 설치하기 위해서는 curl 로 설치하는 방법 homebrew 로 설치하는 방법이 있다. 


[curl]

$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash



[homebrew]


$ brew install nvm


brew 명령어를 쓰기 위해서는 homebrew를 먼저 설치해야 한다. (homebrew 설치방법 참고)



설치 후에는 다음 작업을 해줘야 한다.


// bash_profile 설정 변경

$ vi ~/.bash_profile


// 아래 코드가 있는지 확인하고 없으면 추가

export NVM_DIR="$HOME/.nvm"

[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm


// 변경사항이 있으면 저장 명령어

$ source ~/.bash_profile 


[ nvm 명령어 ]


// Node 버전 설치 $ nvm install <version> # ex> nvm install 8.9.4 // 설치된 Node 버전 목록 확인 $ nvm ls // 사용할 Node 설정 $ nvm use <version> # ex> nvm use 8.9.4 $ nvm use <alias> # ex> nvm use default // 사용할 alias 설정 $ nvm alias <alias> <version> # ex> nvm alias test-v 8.9.4



2. NPM 설치방법


node 를 설치하면 npm 은 자동 설치된다




참고글 : https://heropy.blog/2018/02/17/node-js-install/

https://gist.github.com/falsy/8aa42ae311a9adb50e2ca7d8702c9af1

Mac 터미널 명령어


1. 특정 포트 확인 및 프로세스 종료


sudo lsof -i:[포트번호]

sudo kill -9 [프로세스번호]



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

빌드툴 - Gradle과 Maven  (0) 2018.08.31
M/M (Man/Month) 계산 방법  (0) 2018.07.19

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

빌드 툴 역할

  • 프로젝트에 추가되는 라이브러리와 버전 관리


Gradle

  • 안드로이드 스튜디오의 공식 빌드 시스템
  • Java, C/C++, Python 등 여러 언어 지원
  • Groovy 라는 언어를 기반으로 작성
  • STS(Spring Tool Suite) 에서 gradle support 플러그인을 제공하다가 최근 이클립스 공식 buildship gradle을 릴리즈하면서 support는 차츰 사라질 예정


Maven

  • 예전에는 Apache Ant를 많이 쓰다가 현재는 사실상 Maven이 자바 빌드 툴의 표준이 됨
  • xml 기반으로 작성

Groovy

  • jvm 위에서 실행되는 스크립트 언어 (컴파일되지는 않음)
  • 자바와 호환가능
  • gradle 설치 시, 자동 포함


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

Mac 터미널 명령어  (0) 2019.01.22
M/M (Man/Month) 계산 방법  (0) 2018.07.19

M/M (Man/Month) 란?

 

한 명의 능력을 100%,

 

연간 일하는 기간을 12개월로 정한 후프로젝트에 투입되는 인력을 나타내는 숫자 개념을 말합니다.

 

 

 

M/M 산정 방식

 

(참여율 * 참여기간)

 

한달 영업일 기준 : 22일

 

 

 

M/M 예시

 

인원 기준

참여율

참여기간

M/M 계산 결과

1명

100%

한달

1M/M  

1명

20%

1년

2.4M/M 

1명

50%

3개월

1.5M/M 

 

 

 

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

Mac 터미널 명령어  (0) 2019.01.22
빌드툴 - Gradle과 Maven  (0) 2018.08.31

+ Recent posts