Git 간단한 사용법 및 명령어

김빛나리·2020년 4월 9일
1

1. 사용법

Local에서 Git을 사용하여 Version control을 합니다.
여기서 Local이라 함은 노트북(PC)이나 서버(저는 peace라고 하는 server를 사용했습니다.)

이때 서버가 아닌 노트북(PC)에서 사용하게 될 경우, git을 설치 해주어야하는데

윈도우의 경우
https://git-scm.com/

맥OS의 경우
터미널에서
설치가 되어 있지 않은 경우에 - "brew install git"
이미 설치가 되어 있다면 - "brew upgrade git"

  • 설치가 되어있는지 확인하고 싶다면 "git"을 입력하고 enter! 만약 설치가 되어 있다면 설명이 나올 것입니다.

저는 서버를 사용했고 제가 사용한 서버는 이미 git이 설치가 되어있기 때문에 따로 설치과정을 보여주지 않았습니다.


2. 명령어

2-1. 작업 공간 시작

** 참고: 터미널에 "git help tutorial" 입력

  • remote: 원격 저장소 주소 등록합니다

    • git remote add origin https://(주소)
      - origin이라는 이름으로 원격 저장소 주소를 등록합니다. (굳이 origin이라고 하지 않아도 됩니다.)
    • git remote remove origin
      - 원격 저장소 origin을 지울 때 사용
  • clone: 다른 곳에 있는 저장소를 복제해 새 디렉토리로 가져옵니다.

    • 로컬 저장소
      • git clone /로컬/저장소/경로
    • 원격 서버의 저장소
      • git clone 사용자명@호스트:/원격/저장소/경로
  • init: 새로운 깃 저장소를 만들거나 기존 저장소를 다시 초기화합니다.

    • git init

2-2. 변경 사항에 대한 작업

** 참고: 터미널에 "git help everyday" 입력

  • add: 파일 내용을 인덱스에 추가합니다.

    • git add (file)
      - 해당 file만 add
    • git add *
      - 전체 file add
  • mv: 파일, 디렉토리, 심볼릭 링크를 옮기거나 이름을 바꿉니다.

    • git mv (원본이름) (변경할이름)
      - git status해보면 hello.txt가 hi.txt 바뀐 것을 확인할 수 있다.
  • revert: 현재 HEAD를 특정 시점의 commit 상태로 변경하는 commit을 추가로 수행합니다.

    • git revert HEAD
      - Revert "ver 3"에는 ver 2의 내용이 들어있음 => ver3가 완전히 없어지는 것이 아니라 없었던 것처럼 처리
  • reset: 현재 HEAD를 지정한 상태로 재설정화합니다.
    • git reset (file)
      - staged된 것을 unstaged되도록
      - git status해보면 unstaged된 것을 확인할 수 있다.
    • git reset (7자리_코드)
      - commit을 제거함
  • rm: 파일을 작업 폴더에서 제거하고 인텍스에서도 제거합니다.
    • git rm (file)
      - 해당 file이 삭제됩니다.

2-3. 커밋 내역과 상태 보기

** 참고: 터미널에 "git help revisions" 입력

  • log: 커밋 기록을 표시합니다.

    • git log
    • git log --oneline
      - git diff에서 committed1,2끼리 비교할 때 7자리 코드를 알려줍니다.
    • git log --pretty=oneline
      - commit 내용을 한 줄로 표시
    • git log --graph
      - branch와 merge한 내역을 시각화 하여 보여줍니다.
    • git log -p -1
      - 각 commit의 diff결과를 줄 단위로 보여줍니다.
  • status: 작업 폴더 상태를 표시합니다.

    • git status
    • git status -s
      - git status를 short, 짧게 나타낸 것
  • show: 여러가지 종류의 오브젝트를 표시합니다.

    • git show
      - 가장 최근에 commit된 정보를 보여줍니다.

2-4. 커밋 내역을 키우고, 표시하고, 조작하기

  • commit: 바뀐 사항을 저장소에 기록합니다.

    • git commit -m "message"
      - message도 함께 commit
  • merge: 여러 개의 개발 내역을 하나로 합칩니다.

    • git merge <브랜치 이름>
  • checkout: 브랜치를 전환하거나 작업 파일을 복구합니다.

    • git checkout (file)
      - 로컬의 변경 내용을 되돌릴수 있습니다.
    • git checkout -b <브랜치 이름>
      - <브랜치 이름> 브랜치를 만들고 갈아탑니다.
    • git checkout master
      - master 브랜치로 돌아옵니다.
  • branch: 브랜치를 만들거나, 삭제하거나, 목록을 출력합니다.

    • 저장소를 새로 만들면 기본으로 master 브랜치가 만들어집니다.
    • git branch -d <브랜치 이름>
      - <브랜치 이름> 브랜치를 삭제합니다.
  • diff: 커밋과 커밋 사이, 커밋과 작업 내용 사이 들의 바뀐 점을 봅니다.

    • git diff
      - working directory와 staging area 사이의 바뀐 점
    • git diff --staged
      - staging area와 committed 사이의 바뀐 점
    • git diff <7자리코드> <7자리코드>
      - committed1과 committed2 사이의 바뀐 점
  • tag: 태그를 만들거나, 표시하거나, 삭제하거나, GPG 서명을 검증합니다.

    • git tag 1.0.0 1b2e1d63ff

2-5. 협동 작업

** 참고: 터미널에 "git help workflows" 입력

  • fetch: 다른 저장소에서 오브젝트와 래퍼런스를 다운로드합니다.

    • git fetch origin
  • pull: 다른 저장소 또는 다른 로컬 브랜치에서 가져오거나 통합합니다.

    • git pull origin master
  • push: 원격 레퍼런스 및 그와 관련된 오브젝트를 업데이트합니다.

    • git push origin <브랜치 이름>
      - 보통 git push origin master

2-6. commit 메세지 수정

  • rebase: 이전에 commit message를 수정합니다.
    (다양한 기능들이 있는데 이번에는 이것만 소개)
    • git rebase -i --root
      에서 바꾸고 싶은 commit message 앞 pick을 reword로 바꿔줍니다. 저장하고 나가면 commit message를 수정할 수 있는데 수정완료되면 저장하고 나가기
      확인하기:

0개의 댓글