SON Kiseok Technical Blog

git

내용1. 작업 내용

1. 최신화(현행화) 작업

  1. branch checkout
  2. reference를 develop branch(기준이 되는 branch)로 선택
  3. pull

2. cherry-pick 작업

하나의 branch에 여러 사람이 push 하는 환경에서 local에 commit 하고나서 최신화(현행화) 하지 않은 것을 깨달았을때

  1. 기준이 되는 branch가 변경되고 local에 commit 상태에서 push도 pull도 안돼는 상황
  2. commit id를 확인한다. : git log –online 하여 commit id(=7777777)를 확인
  3. 이전 commit으로 돌아간다(reset) : git reset hard HEAD^
  4. 최신화(pull)한다. : git pull
  5. commit 내용을 복구(cherry-pick)하고 : git cherry-pick 7777777
  6. push 한다. : git push 브랜치이름

내용2. git 개념 : 그림 그려서 정리하기

placeholder placeholder

  • git remote repository : 원격에 있는 깃 저장소
  • git local repository : 내 컴퓨터의 깃 저장소. 코드를 save한 곳과는 별도의 저장소임
  • branch : 1개의 저장소안에서 여러개의 기준점으로 저장소를 나누는 방식
  • master branch : 오픈한 서비스의 코드 저장소
  • develop branch : 오픈전/후 서비스의 코드 저장소
  • create : repository 또는 branch 생성
  • commit : 변경한 코드를 local repository에 저장하기
  • pull : remote repository branch에서 변경된 코드를 저장하기
  • clone : 원격에 생성된 repository 또는 branch를 로컬에 저장
  • push : 변경한 코드 remote repository에 저장하기
  • pull request : 변경한 코드를 다른 branch에 Merge하기 위해 pull 해달라고 요청하는 것
  • merge : 변경한 코드를 합치는 것
  • conflict : 변경한 코드가 같은 부분일때 어떤 것인지 선택해야 하는 것
  • checkout : 선택한 branch로 이동하는 것

  • rebase : commit id 기준을 다시 잡아 기준 이후의 커밋을 버리고 합치는것
  • fetch : remote repository branch에서 변경된 코드를 가져오기만 하는 것(merge 하지 않음)
  • revert : push한 상태의 commit한 내용을 제거 할때
  • reset : commit head를 변경하는 것
  • amend : commit message 의 내용을 변경하는 것
  • cherry-pick : commit한 내용을 변경할 때
  • head revision : commit id로 이동
  • squash : 여러개의 commit을 1개의 commit으로 묶는 것.
  • tag : commit 한 사람 이름 넣는 정도로 써봄

내용3. 초급이 사용하는 작업과 형상관리 전문이 하는 작업

  • 초급 : 내용1 + create, commit, pull, clone, push, pull request, merge, conflict, checkout
  • 전문 : 모든것

전체 글 보기