Git 기초 명령어

반응형

1. $git config 명령어

  • $git config --list 명령어를 통해 자신이 설정한 config 값을 볼 수 있다.
  • 설치하면서 했던 [user.name]과 [user.email]확인 가능.

git config --list

 

반응형

 

2. git config 설정 변경 ( user.name 과 user.email 를 예시로)

  2-1. 아직 초기 설정을 안했을 경우 ($ git config --global user.name 등등)

  • 지역(local) 설정
    • $ git config user.name "이름"
    • $ git config user.email "이메일@주소"

지역 설정인 경우 cd 명령어를 통해 .git이 저장된 디렉토리로 이동 후에 명령어를 입력해야 한다.

 

  • 전역(global) 설정
    • $ git config --global user.name "이름"
    • $ git config --global user.email "이메일@주소"

2-2. 초기 설정을 한 번이라도 했었던 경우

  • 3번의 --unset 옵션으로 삭제했다가 2-1 작업으로 되돌아와 설정한다.

 

 

3. $git config 설정 삭제 (--unset 옵션)

  • $ git config --unset "삭제할 config 설정명"
//값이 "독립(한개)"적인 config 설정값 일 때 (user.name 등)
//★Local
$ git config --unset user.name  // local 설정된 user.name 삭제
$ git config --unset user.email // local 설정된 user.email 삭제

//★Global
$ git config --unset --global user.name //global 설정된 user.name 삭제
$ git config --unset --global user.email //global 설정된 user.email 삭제


//값이 "중복(여러개)"적인 config 설정값 일 때 (user.name 등)
//★Local
$ git config --unset-all user.name  // local 설정된 user.name 삭제
$ git config --unset-all user.email // local 설정된 user.email 삭제

//★Global
$ git config --unset-all --global user.name //global 설정된 user.name 삭제
$ git config --unset-all --global user.email //global 설정된 user.email 삭제

 

 

4. $ git init - git 저장소 만들기 (=git 초기화)

  • $ git init 명령어시 아래와 같이 .git 이라는 저장소가 만들어진다.

git init

 

5. $ git status - git 상태 확인  (아래쪽에 "알아 둘 점" 한 번 보고오면 좋음)

  • .git 폴더가 들어있는 곳에 cd명령어를 이용해 이동 후에 명령어를 입력한다.

git status

git status 문장 뜻

  • On branch master - 현재 master 브랜치에 있다.
  • No commits yet - 아직 커밋한 파일이 없다.
  • nothing to commit ~~(생략) - 현재 commit할 파일이 없다.
    • 아직 스테이지 영역에 있다는 뜻

 

 

여기서 알아 둘 점. (작업트리, 스테이지, 저장소)

  • Git 의 기능 중 하나가 “버전 관리” 이다.
  • Git 에서 문서를 수정하고 저장할 때마다 하나의 버전이 생긴다.
  • 하나의 버전 마다 아래와 같은 구조를 지닌다.

git 버전 등록시 거치는 과정

  • 작업 트리 : 파일 수정, 저장 등 작업 하는 디렉터리이다.
  • 스테이지
    • 버전으로 만들 파일들이 commit 전 “대기”하는 곳
    • .git 폴더 안의 INDEX 에 저장되며 눈에 보이지 않는다.
  • 저장소 : 스테이지에 있던 파일을 버전으로 만들어 “저장” 하는 곳
    • .git 폴더 안의 HEAD 에 저장되며 역시 눈에 보이지 않는다.
    • repository 라고도 하며 나중에 원격저장소인 Github로 대체가 가능하다.

 

6.$git add [파일명]/옵션 : 작업 트리 → 스테이지로 작성중인 파일 저장

  • 예) $git add .
git add 옵션 의미
[파일명] [특정 파일]만 스테이징 하겠다.
-A [모든 파일]을 스테이징 하겠다.
. [모든 파일]을 스테이징 하겠다.

 

 

7. $git commit -m "메시지 명" : 스테이지 → 저장소로 스테이징하던 현재 파일 저장

  • 스테이징에서 옵션을 무엇을 줌에 따라 커밋의 양이 달라진다.
  • 한 번 커밋 후 바로 두 번째 커밋은 할 수 없음.

 

8. $git log [<options>] [<revision range>] [[--] <path>…] : 로그 확인

  • 옵션을 사용해 원하는 로그를 출력할 수 있는 기능
  • 실습을 위해 $git log 로만 작성.

git log

9. 작업 취소 (checkout, reset 옵션)

  • $git checkout -- [파일명]
    • 작업 트리에서 수정한 파일 되돌려줌
    • 파일을 수정한 뒤에 최신 버전으로 되돌리려고 할 때 사용한다.
    • 다시 복구되지 않음.
    • 예) $git checkout -- test.txt
  • $git reset [<commit>] [--soft | --mixed [-N] | --hard | --merge | --keep]
    • 요약 :  $git reset HEAD
    1. $git reset HEAD [파일명]
      • 스테이징 되돌리기 : 스테이지 올린 상태에서 되돌릴 때
      • reset HEAD 뒤에 파일을 지정하지 않을 시 스테이지에 있는 모든 파일을 되돌린다.
    2. $git reset HEAD^
      • ^(캐럿) 사용
      • 최신 커밋 되돌리기
      • 가장 마지막에 했던 커밋을 되돌리려고 할 때 커밋 취소와 함께 스테이지에서도 내려진다.
      • 최근 3개 커밋 취소하려면 ~(틸드) 다음 숫자를 붙여주면 된다.
        • $git reset HEAD~3 

 

 

10. $git revert 커밋 해시(커밋 ID)

  • 작업 트리에서 수정한 파일 되돌리는 명령어
    • 예) $git revert bd097e8
  • $git log 명령어를 통해 커밋 해시를 확인 후 사용한다.
  • 해당 커밋 해시의 직전 커밋으로 돌아간다.
  • 이후 커밋은 그대로 유지됨.

git log

$git log 명령시 노랑색 commit 오른쪽에 있는 것이 해시 코드임.

단, 해시코드가 길어서 보기 힘들 땐 log의 옵션 --oneline 을 사용하면 된다.

 

git log --oneline

해시코드가 약 7글자로 축약되는데 이걸 사용해도 결과는 같다.

 

 

 

 

설명이 좀 부족해서 참고하시라고 아래 사이트 소개합니다..!

 

Git / GitHub 안내서

초보를 위한 Git / GitHub 안내서

subicura.com

 

반응형

'IT > Git + GitHub' 카테고리의 다른 글

Git 특징 및 설치, 기초 환경 설정  (1) 2022.10.18

댓글(0)

Designed by JB FACTORY