Git 사용법

oyoi·2024년 11월 4일

MAI&CV

목록 보기
2/3
post-thumbnail

참고: https://rogerdudler.github.io/git-guide/index.ko.html

repository

  • git init
    : 새로운 repo를 생성하는 명령문

  • git clone /로컬/저장소/경로
    git clone 사용자명@호스트: /원격/저장소/경로
    : 로컬/원격서버의 repo를 복제하는 명령문

work flow


: 로컬 저장소는 세 그루의 나무로 구성되어 있다. 첫번째 working directory는 실제 파일들로 이루어져 있고, 두번째 index는 staging area의 역할을 하며, 마지막 head는 commit을 나타낸다.

add & commit & push

  • git add <파일 이름>
    : 변경된 파일을 index에 추가하는 명령문

  • git commit -m "이번 commit에 대한 설명"
    : 해당 commit에 대한 설명을 추가하는 명령문

  • git push origin <branch 이름>
    : 변경 사항을 원격 서버에 업로드하는 명령문

  • git remote add origin <원격 서버 주소>
    : 만약 기존의 원격 repo를 복제한 것이 아니라면 업로드할 원격 서버의 주소를 git에게 알려주어야 한다.

branch


: repo를 새로 생성하면 기본으로 master 가지가 만들어진다. 코드가 꼬이지 않도록 다른 가지에서 개발을 진행하고 개발이 완료되면 master 가지에서 병합한다.

  • git checkout <branch 이름>
    : 다른 가지로 이동하는 명령문

  • git checkout -b <branch 이름>
    : 새로운 가지를 만들고 이동하는 명령문

  • git branch -d <branch 이름>
    : 가지를 삭제하는 명령문

  • git push origin <branch 이름>
    : 가지를 원격 서버로 전송하는 명령문

merge

  • git pull
    : 원격 저장소에 맞춰 로컬 저장소를 갱신하는 명령문
    → 이를 통해 원격 저장소의 변경 내용이 로컬 작업 디렉토리에 fetch되고 merge된다.

  • git merge <branch 이름>
    : 다른 가지의 변경 사항을 현재 가지에 병합하는 명령문

! 하지만 늘 merge가 성공하는 것은 아니다. confilcts가 일어나곤 하는데 이는 직접 수정해 병합이 가능하도록 바꾸어야 한다 !

  • git add <파일 이름>
    : 수정 후 파일을 병합하는 명령문

  • git diff <원래 가지> <비교 대상 가지>
    : 병합 전 변경 사항을 확인해볼 수 있는 명령문

tag

: 소프트웨어의 새 버전을 발표할 떄마다 버전에 대한 꼬리표를 달아놓는 것이 좋다.

  • git tage 1.0.0 1b2e1d63ff
    : 1.0.0 = 꼬리표/ 1b2e1d63ff = 꼬리표의 확정본 식별자
    → 해당 식별자는 git log를 통해 확인 가능

cancel

: 만일 실수한 경우 로컬의 변경 사항을 되돌릴 수 있다.

  • git checkout -- <파일 이름>
    : 로컬의 변경 내용을 변경 전 상태(head)로 되돌리는 명령문
    ↔ 다만 이미 index에 추가된 변경 내용과 새로 생성한 파일은 그대로 남는다.
    → 만약 로컬의 모든 변경 사항과 commit을 취소하고 싶다면 git fetch origingit reset --hard origin/master를 통해 원격 저장소의 최신 이력을 가져올 수 있다.
profile
오이

0개의 댓글