Git & GitHub (2)

김서현·2022년 7월 20일
0

프론트엔드 스터디

목록 보기
14/16

이 글은 inflearn의 'Git과 GitHub 시작하기'를 수강하고 적는 글입니다.


6. 병합(merge) 살펴보기

병합이란?

하나의 브랜치를 현재 브랜치와 합치는 것

  • 헤드(HEAD) 브랜치 : 현재 브랜치
  • 헤드 브랜치가 master이고 여기서 version2 브랜치를 병합하면 version2의 내용이 master에 반영됨.
  • Fast Forward



    -> 충돌 가능성 있음
    => 다른 파일로 만들어서 커밋하면 충돌 일어나지 않음.

병합 순서

  • 모두 스테이지에 올리기 -> 커밋 -> 병합 -> 푸쉬

7. 충돌 해결하기

Pull

  • 깃허브 서버에 업데이트 된 내용이 내 로컬 PC보다 더 최신 내용으로 업데이트 되어있는 경우 필요

    혼자 작업 시 : 여러 개의 컴퓨터를 사용할 때
    협업 작업 시 여러명이 push하기 때문

  • 충돌 날 수 있음( 충돌은 자동병합 실패시 발생 )
  • pull = fetch + merge

충돌 해결 방법

  1. 에디터를 사용하여 수동으로 해결
  2. 느낌표 파일 우클릭 -> 충돌 해결 -> '저장소 것'을 사용하여 해결
  3. 느낌표 파일 우클릭 -> 충돌 해결 -> '내 것'을 사용하여 해결

8. reset으로 커밋 되돌리기

reset 사용해 보기

  • git reset --hard 옵션으로 커밋 되돌리기 ( sourcetree: 이 커밋까지 현재 브랜치를 초기화)
  • reset 이후 push는 강제 옵션을 선택해야 함. ( push --force )
  • 이전 커밋은 사라짐
  • 장점 : 쉽다
  • 단점 : 커밋이 날아간다.

9. 브랜치를 만들어서 커밋 되돌리기

branch 사용

  • 되돌릴 커밋 대상으로 브랜치 생성
  • 체크아웃
  • 변경 사항 수정 후 커밋
  • master에 머지
  • 장점 : 쉽다. 기록이 다 남아 있다.
  • 단점 : 트리가 지저분해진다.

0개의 댓글