article thumbnail image
Published 2022. 8. 1. 02:58

clone

깃헙에 있는 원격 저장소를 내 컴퓨터로 복사한다.

git clone [주소]

 

commit

아까 위에서 깃은 게임의 세이브 포인트처럼 저장된 시점으로 되돌아갈 수 있다고 했는데, 여기서 저장하는 행위가 바로 커밋이다.

커밋을 하려면 원하는 파일들을 묶어서 커밋해야 한다.

git commit -m "message"

 

add

커밋을 하기 위해서는 파일들을 묶어야 한다고 했는데, 스테이지(stage)에 파일들을 올리는 것을 뜻한다.

해당 작업은 add 명령어로 수행할 수 있다.

git add *

 

status

현재 수정된 파일들이 스테이지에 올라갔는지 그 상태를 확인할 수 있는 명령어다.

git status

 

push

내가 작업한 커밋들을 깃헙(원격 저장소)에 업로드한다.

git push

 

checkout

저장소에서 특정 커밋이나 브랜치로 돌아가고 싶을 때 사용, 브랜치 변경

git checkout [브랜치]

 

 

branch

기능 변경을 하고 싶을 때 생성 및 사용, 브랜치 생성

git branch [브랜치 이름]

 

 

merge

한 브랜치의 내용을 다른 브랜치에 반영, 현재 브랜치와 지정 브랜치 합병

git merge [브랜치]

 

 

rebase

merge처럼 브랜치 병합할 때 사용한다.

이전 브랜치 기록이 남아있지 않는다.

 

  • 장점: 커밋 히스토리가 깔끔하게 정리된다.
  • 단점: 위험하다. 이미 원격 저장소에 올라간 경우 또는 협업을 하고 있는 경우 특히 위험하다.

 

Source Tree

더보기

"재배치"

 

 

pull = fetch + merge

따라서 pull할 때도 충돌 발생 가능

 

브랜치 병합할 때 충돌 안 나려면 합병하려는 파일이 서로 다른 파일이어야 함.

같은 파일이 존재할 경우, 즉 같은 파일을 수정한 경우 충돌 가능성 높음.

 

 

 

 

 

📌 커밋 되돌리기

reset

git reset --hard
  • 장점: 쉽다.
  • 단점: 커밋이 완전 삭제되고, 강제 푸시가 필요하다.

 

강제 푸시

더보기

git push --force

 

Source Tree

더보기

되돌아가려는 커밋 선택 후 [우클릭-이 커밋까지 현재 브랜치를 초기화-Hard]

 

 

브랜치를 만들어서 되돌리기

  • 혼자 깃을 쓸 때 좋다.
  • reset과 달리 커밋이 사라지지 않는다.
...
  • 장점: 쉽다.
  • 단점: 트리가 지저분해진다.

 

Source Tree

더보기

되돌아가고자 하는 커밋에서 브랜치 생성 후 merge

 

 

revert

  • revert 대상 커밋은 사라지지 않는다.
  • revert 대상 커밋의 내용을 되돌린 새로운 커밋이 생겨난다.
  • 장점: 이전 커밋 기록이 다 남아 있다.
  • 단점: 충돌 날 가능성이 매우 높다. 다소 어렵다.

 

더보기

Source Tree

커밋 선택 후 우클릭-커밋 되돌리기

 

 

 

깃 명령어 연습 사이트

https://learngitbranching.js.org/

 

 

 

 

 

복사했습니다!