기본적인 Git 명령어 모음

손정민·2024년 1월 19일

신규 프로젝트 생성시


방법1
git clone [repository주소]
해당 폴더로 이동하여 개발시작

방법2
로컬 컴퓨터에서부터 이미 개발된 프로젝트가 존재시

  • git init → .git파일 생성
  • git config —list: config 정보 조회
  • git remote add [Remote Name][repository 주소]
    → origin이란, 깃허브 저장소 주소를 의미(즉, 원격저장소를 의미)
  • git remote set-url [Remote Name][URL]
    → remote name의 주소 변경
  • git remote remove origin
  • git push --all origin
    → 모든 브랜치의 커밋이력 push

github 사용자 지정


사용자 지정은 사용자 인증과 상관없이 자유롭게 가능
주로 처음 git을 사용할 때나 새로운 환경에서 git을 사용할 때 쓴다

전역적 선언
git config --global user.name “[github name]”
git config --global user.email “[email 주소]”

지역적 선언
git config --local
.git/config에 저장

git 기본 명령어


기본 명령어를 익히기 전에 git의 3가지 영역에 대해서 이해를 하면 명령어를 익히는데 더 도움이 될 것이다.

Working Directory: 로컬(개발자 컴퓨터) 저장소 의미
Staging Area: 원격(remote)저장소에 보내기 전에 임시적으로 올라가는 장소
Repository: 흔히 우리가 아는 github 저장소를 의미

명령어

  • git status
    현재 작업 디렉토리와 staging area의 상태를 보여주는 명령어
  • git add .
    → staging area로 업로드
  • git status
    → staging 상태확인
    .gitignore 파일을 이용해 git add . 명령어에도 staging area에 파일을 안올릴 수 있다.
  • git commit -m “”
  • git commit -m “제목파트” -m “내용파트”
    → local repository로 업로드 및 커밋이력 생성
  • git commit -am “커밋메시지”
    → add와 커밋을 동시에
  • git log [--all][--oneline]
    → 커밋이력 확인 (--all : 모든 로그 확인) (--oneline 로그 한줄로 출력)

git commit만 하게 되면 메시지 입력모드로 전환. 첫 줄에 title, 두번째 줄부터 contents

  • git push origin [branch명](보통 master/main)
    → 원격저장소의 특정 branch 위치에 local repository의 이력과 변경사항을 업로드
    → 만약 충돌시 강제 업로드 하고 싶다면 --force옵션 추가(추천 X)

  • git pull origin(원격 저장소명) main(브랜치명)

    ! 만약 로컬의 변경파일과 origin의 변경파일이 같이 변경되면 충돌발생 가능

git 취소상황


  • 특정 STEP까지의 저장 사항을 취소
    • working directory의 수정사항 취소
    • add 이후 취소
    • commit 이후 취소
    • push 후 origin까지 배포된 사항 취소
  • working directory의 수정사항 취소
    • git checkout .
      • 파일 수정사항의 취소
    • git clean -fdx
      • 파일을 신규추가(untracked file)한 경우의 취소
    • git checkout . | git clean -fdx
      • 수정 및 추가 모두 취소
      • add 이후 취소
    • git reset 또는 git restore --staged .
    • git restore [file name]
      • 특정 파일 HEAD Commit으로 복구하기
    • git resotre --source [commit hash][file name]
      • 특정 파일 특정 Commit으로 복구하기
  • commit 이후 취소
    • git reset HEAD~1(또는 HEAD^)
      • unstaged 상태로 만듬
    • git reset —soft HEAD~1
      • staged 상태 유지
      • push 후 origin 까지 배포된 사항 취소
    • git revert 커밋ID
      • 특정 커밋버전을 취소시키는 새로운 commit을 생성 후에 다시 push
  • git diff와 fetch
    • git diff
      • 현재 작업 디렉토리와 스테이징 영역(index) 사이의 차이점
    • git diff [commit1][commit2]
      • 두 커밋간 차이점 비교 (커밋 입력시 최소 6자리 이상 입력)
      • commit1을 기준으로 commit2와 비교시 차이점 출력
    • git diff main origin/main
      • local repo의 main과 origin main과의 비교
    • git fetch origin main
      • 현재 checkout 돼 있는 main과 origin main과의 차이가 있을경우 차이점을 담은 참조데이터 FETCH_DATA라는 곳에 생성
        차이점을 참고하여 일단 merge후에 파일수정하고 다시 push
profile
코린이의 성장교실

0개의 댓글