Skip to content

Git cheatsheet

Yun Hwan, Kim edited this page Nov 25, 2019 · 7 revisions

git에서 unstaged files만을 추가하고 싶을때

상황

unstaged to commit:
- file1.txt
- file2.txt
 ....
- file1000.txt


untracked files:
- newfile1.txt
// unstaged file들만 추가한다.
git add -u

// untracked만 남고 unstaged file은 다 stage area로 넘어간다
git status

untracked files:
- newfile1.txt

Fork한 repository를 최신화하기

// original repo를 upstream으로 등록해두면됩니다.
git remote add upstream https://github.com/connect-foundation/2019-14

ref[1]: fork한 repository를 최신화하기

Rebase를 통해 불필요한 Merge를 줄이기

develop브랜치에 feature브랜치에 구현해둔 commit을 올리고 싶다.

// feature브랜치를 develop에 합친다.
////////////////////////////////////////////////
// (prev)
// ----A------>(develop)
//     |
//     --------------B------C---->(feature)
////////////////////////////////////////////////
// (after)
// ----A------>(develop)---B---C--->(feature)
////////////////////////////////////////////////
git checkout feature
git rebase develop

// 이 후에 rebase때문에 conflict가 발생할 수 있다.
// 그렇다면 conflict를 해결한 후에 git rebase --continue로 conflict를 계속 해결해가면된다.

// develop을 feature이 있는 위치로 합쳐서 최신화한다.
// ----A------>---B---C--->(feature, develop)
git checkout develop
git merge feature

Review brunch에 원하는 코드만 PR 요청하기

  1. 리뷰를 받을 코드가 존재하는 브런치로 체크아웃한다.
  2. 체크아웃된 브런치를 기반으로 --orphan 옵션을 주어 새 브런치를 만들고, 이동한다.
  • ex) git checkout --orphan [임의의 브런치]
  1. 원하는 코드를 커밋한다.
  • 커밋id 복사할 것
  1. 나머지 코드를 전부 지우거나 커밋한다.
  • 지우거나 커밋하지 않으면 다른 브런치로 체크아웃을 하지 못한다.
  1. reivew 브런치로 체크아웃한다.
  2. git cherry-pick [commit id] 명령어로 원하는 커밋을 가져온다.
  3. origin에 푸시한다.
  4. PR을 작성한다.
  5. PROFIT!