Git 강의 (reset, rebase, gitflow, etc...)

Jul 11, 2019


  • commit, 되돌릴 수 없나?
  • rebase
  • 추가 명령어
  • gitflow
  • gitlab 의 협업 기능


commit, 되돌릴 수 없나?


history 에 올라가 있는 commit 내역을 되돌리자.

  • git revert - 특정 작업을 빼는 것.
  • git reset - 시간을 되돌리는 것.


git reset


  • —soft
  • —hard

git branch history 확인 명령어 별칭으로 바꿔서 사용


alias gloga=”git log –all –decorate –oneline –graph”


git revert –abort

revert 취소


git reset

스크린샷 2019-07-12 오후 2.39.55

스크린샷 2019-07-12 오후 2.39.43

rebase


re-base : [명] 기초, 출발점, 근거지

출발지를 다시 잡겠다.

내가 작업하던 시점을 다른 시점으로 들어서 옮긴다.

rebase vs merge

rebase 는 base 를 옮기려는 branch 에서 시작

git checkout feature	// 'featcher' branch
git rebase master

Merge 를 하면 이력이 계속 남아서 history 가 드러워진다. (merge 시, commit 생성 됨 )

git reflog master

rebase, 언제 사용하나

  • 원격에서 자동으로 pull 을 받아올 때, 자동으로 merge 가 된다.

    git pull —rebase origin dev // pull 할 때, rebase 를 사용한다.

    • git config —global 에서 설정으로 pull 할 때 마다, rebase 로 되게 할 수 있다.
  • 작업 내용이 별도의 브랜치로 존재하지 않아도 될 때.


추가 명령어가 궁금해요


  • git commit —amend

    커밋을 냈는데 오타가 났을 때 쓰는 option

    • git commit —amend -
  • git cherry-pick

    특정 이력만 빼온다.

  • git stash

    working directory 에 갑자기 pull 요청이 들어왔을 때, 내가 작업했던 내역을 잠시 다른 곳에 저장해 두는 것.

  • git tag

    version 별로 태그를 붙여준다. 이전 version 으로 돌아갈 일은 생길 수 있다.

  • git reflow / git log

  • git checkout —orphan

    commit 이력 없는 새로운 브랜치 생성

  • git merge —squash

    여러 commit 이력 하나로 합쳐서 merge 하기


Gitflow


  • fork

    git push origin

  • WIP : Working In Process

https://gitlab.com/gitMijeong/git_class