프리미의 공간

Git 명령어 정리 본문

Dev/Git

Git 명령어 정리

프리미_ 2020. 3. 2. 10:52
git init 
git add FILE_NAME # commit할 준비단계 
git commit 
git commit --amend # 가장 최신의 커밋을 수정하는 역할, 커밋 덜넣었을 때 사용 
git diff # add할 변화분 
git status # commit할 변화분 
git shortlog # 한줄 요약 
git log # 자세한 요약 
git log -p # 내용까지 
git blame source.c # 그 파일의 라인별 커밋 아이디와 날짜 보여줌 
git show # 최신의 커밋 모두를 보여줌 
git show -q # 최신의 커밋 하나만 보여줌 
git show COMMIT_ID 
git reset # add한 내용을 되돌림 
git stash # 현재까지의 변화를 임시저장함 
git stash list 
git stash pop # stash한거를 다시 적용 
git checkout -- source.c # source.c 파일을 최신 history에 맞게 되돌림 
git checkout -b BRANCH_NAME # 새로운 branch를 만들고 그걸로 전환함 
git branch # 모든 branch 확인 
git reset --hard COMMIT_ID # 과거로 돌아가기 (COMMIT_ID~1 이면 그 아이디 이전의 커밋으로 돌아감) 

git push origin master 
git push origin master --force # 내가 내 pull request로 푸시할때는 종종 쓴다. 
git push origin develop 

# 오픈소스 Pull request 날리는 방법 
1. 오픈소스의 github 페이지에서 fork를 떠서 내 계정으로 가져온다. 
2. 내 로컬에서 내 계정으로 포크 뜬 git을 클론한다. 
3. (로컬에서) 수정할 것들 새 브런치에서 커밋하고, push 한다. (그러면 내 계정의 프로젝트에 커밋이 적용됨) 
4. 내 계정으로 fork뜬 프로젝트의 브런치에서 New Pull Request 버튼을 누른다. 
5. 그러면 원래 오픈소스의 Pull request로 내 커밋이 요청된다! 

git remote -v # 전체 보기 
git remote add upstream https://github.com/nodejs/node.git 

# origin은 포크떠서 만들어진 나의 URL, upstream은 공식 URL을 지칭함. 
git fetch upstream dev # 공식 프로젝트의 갱신된 커밋이 포함된 base를 다운받음. 
git branch -a # branch 내부의 모든 branch를 확인할 수 있음. 
git rebase upstream/dev # develop 브랜치를 선택하고 실행해야됨. 
git push origin develop -f # 내가 포크떴던 origin에 rebase한 커밋을 갱신해준다. 

# 기본 세팅 
git config --list 
git config --global user.email "email@domain.com" 
git config --global user.name "yourname" 

# 내 프로젝트에 올린다: push 
# 남 프로젝트에 올린다: pull request [github의 기능, GUI로 진행] 

# 용어정리 
upstream: 오픈소스의 진짜 코드 
origin: 내 계정의 온라인 코드 
upstream/master: 오픈소스의 master라는 이름의 브런치 
origin/master: 내 계정의 master라는 이름의 브런치 
master: 로컬의 master라는 이름의 브런치 

# Add Support Fix Improv 
# 라는 키워드로 로그 검색하면 좋음 (대소문자는 알아서) 
$ git log --oneline -- ./docs/ | grep Add | less 

 

참고: Pull Request는 branch 단위로 진행되니 작업단위별로 branch를 생성할 것!