git과 github 핵심: commit, add, push, branch, merge, pull

dolphinSarah·2020년 10월 17일
0
post-thumbnail

🔴git과 github

🔷commit

게임의 세이브에 해당하는 행동. 언제든지 커밋한 시점으로 되돌아갈 수 있다. 커밋을 하려면 저장을 원하는 파일을 묶어서 커밋 명령을 수행하면 된다.

🔸commit 주의 사항

원하는 파일이 스테이지에 올라갔다면 커밋을 해야한다. 커밋 = 세이브라는 걸 꼭 기억해두자. 커밋을 하면 스테이지에 있는 파일들이 커밋으로 저장된다.

커밋에는 주의사항이 있다.

  • 반드시 한 번에 하나의 논리적인 작업만을 커밋한다.
  • 커밋 메세지를 잘 적어야 한다. (미래의 본인과 다른 개발자를 위해서 꼼꼼히 적어야 한다)

🔸commit 메시지 작성법

  1. 첫 줄에 간단하지만 명확하게 내용을 쓴다.
  2. 한 줄 비운다.
  3. 자세한 내용을 적는다.


2와 3은 옵션이지만 가급적이면 해주는 것이 좋다.

🔷add

스테이지에 올리는 것. 커밋하기 전에 저장을 원하는 파일을 묶는 일을 해야한다고 했는데, 이 작업을 스테이지에 파일을 올린다(add)라고 함.

🔷push

커밋을 하면 작업 내용의 세이브 데이터가 내 컴퓨터에 저장된다. 그런데 예를 들어, 신형 맥북에 당첨되어 작업 내용을 전부 옮겨야한다고 해보자. 이때, github에 작업 내용이 올라가 있다면, 아주 손쉽게 작업 내용을 내려받을 수 있다.

github에 업로드하는 것을 git에서는 push라고 한다.

🔸코드뭉치 버리기

저장하지 않은 변경 내용 취소하기. checkout을 이용하면 아주 쉽게 마지막 커밋으로 되돌아갈 수 있다. sourceTree의 코드뭉치버리기 기능을 사용하면 변경사항을 되돌릴 수 있다.

🔷branch

기능 변경을 하고 싶을 때 생성 및 사용한다.

가능한 시나리오
1. 기존 문서에 새로운 설명을 추가했다.
2. 내용이 마음에 안 들어서 다시 작업을 하고 싶다.
3. 혹시 모르니 기존 내용은 남겨 두고 싶다.
4. 새로 작업을 한 후에 비교해보고 더 좋은 걸 결과물로 반영하자.

✔️checkout: 저장소에서 특정 커밋이나 브랜치로 돌아가고 싶을 때 사용
✔️merge: 한 브랜치의 내용을 다른 브랜치에 반영하고 싶을 때 사용
✔️현재 브랜치는 head라고 한다.

🔷merge

하나의 브랜치를 현재 브랜치와 합치는 것을 병합(merge)라고 한다.

  1. 헤드 브랜치에 변경 사항이 없을 경우
  • 가장 쉬운 상황이다.
  • 합치려는 브랜치가 헤드 브랜치로부터 시작되었다.
  • 그 사이 헤드 브랜치에는 전혀 갱신이 없었다.
  • 이러한 상황을 fast-forward라고 한다. 단순히 브랜치의 참조만 갱신되는 상황이다.
  1. 가지가 생겨난 경우
  • 상황이 조금 복잡해졌다.
  • 과거의 커밋으로부터 브랜치를 생성해서 작업을 한 경우 / 새로운 브랜치 작업 이후에 헤드에 다른 새 커밋이 있는 경우 / 여러 브랜치를 동시에 작업하면서 병합을 시도할 경우
  • 이 경우에도 기본이 되는 헤드 브랜치에서 타겟 브랜치를 병합하면 되는데, 이 때 여러 브랜치에서 동시에 변경한 파일이 있을 경우 충돌이 발생할 수 있다.
  • 이럴 때 보통 가장 최신 내용 하나만 선택하면 되는 경우가 많다. 그리고 최신 내용은 타겟 브랜치에 있는 경우가 많다.

🔷git pull

서버의 내용이 최신일 경우 pull을 적용한다. 충돌이 날 수 있지만 놀라지말자. pull = fetch + merge

profile
Exploring Front-end_.

0개의 댓글

관련 채용 정보