한 걸음씩 기록하며

#.2 Git Local 명령어 정리 본문

Git

#.2 Git Local 명령어 정리

Haksae 2021. 12. 22. 16:31

1. 버전 저장소 만들기

  • $ mkdir 폴더명 : - 프로젝트 폴더를 생성
  • $ cd 폴더명 : 해당 폴더 이동
  • /폴더명 $ git init : 현재 디렉토리를 git의 버전 저장소로 만든다.
  • /폴더명 $ git config —global user.name <username>
  • /폴더명 $ git config —global user.email <mailaddress>

2. 기본 명령어

  • $ git status : 마지막 커밋 이후 작업공간에서 변경이 일어난 모든 파일들을 나열하는 명령어이다.. 현재 추적되고 있는 파일을 초록색으로 표시하고 그렇지 않은 파일은 빨간색으로 나타난다.
  • $ pwd : Print Working Directory
  • $ ls : 현재 디렉토리 내의 모든 파일 리스트를 보여준다.
  • $ ls -al : 현재 디렉토리 내의 모든 파일의 자세한 내용을 보여준다.
  • $ git status -s : Git의 상태를 간략하게 보여준다.
  • $ cat 파일명 : 파일의 내용을 보여준다.
  • $ echo 파일명 > gitignore : 해당 파일들은 ignore 파일로 분류되어, Git에 커밋되지 않는다.

3. 파일 생성 및 수정

  • $ touch : 빈 파일 생성
  • $ vim 파일명 : 파일 생성
    • i : insert
    • :wq : 저장하고 종료
  • $ echo "text" > 파일명 : “text”라는 텍스트가 입력된 파일이 생성된다.
  • $ echo "text" >> 파일명 : 파일이 해당 “text”로 수정된다.

4. add : 해당 파일을 stage(추적)시키는 명령어

  • $ git add 파일명 : 파일을 add
  • $ git add *.확장자명 : 디렉토리 내 확장자 명의 모든 파일을 add
  • $ git add -A : 모든 것을 add
  • git add * 와 git add .의 차이
    • git add * 와 git add . 는 이미 삭제되어있는 파일을 어떻게 처리할 것인가의 차이다.
    • $ git add * : 삭제했던 파일은 Staging Area에 남아있는 상태에서, 모든 파일 add
    • $ git add . : 삭제했던 파일이 Stagint Area에서 사라지는 것을 포함한, 모든 파일 add

5. rm(파일 삭제) : 파일을 unstage(추적해제) 시키는 명령어 (add와 반대)

  • $ git rm --cached 파일명: 파일이 staging area에서 삭제되지만, 디렉토리에는 존재한다.
  • $ rm 파일명 : 파일이 디렉토리에서 삭제되지만, staging area에는 존재한다.

6. commit : 저장소에 올리는 작업 공간의 하나의 변경된 상태

  • $**git commit** : 커밋을 추가하는 명령어
    • i → insert / :wq → quit
    • (참고: 메시지 줄 바꿈을 원할 시, 터미널에서는 Shift + Enter 를 입력하면 개행됨)
    • 커밋 명령어를 사용해서 커밋을 추가하는 것을 가리켜 '커밋한다'라고 부른다.
      • 주로 $ git commit -m "(코멘트; 커밋에 덧붙일 말)" 형식으로 사용한다.
      • $ git commit --amend : 커밋 메시지를 수정
  • $**git checkout** : 커밋을 불러오는 명령어이다.
    • git checkout (커밋 해시) 형식으로 사용한다.
    • 커밋 해시는 전부 적을 필요는 없고 다른 커밋 해시와 중복되지 않아 고유하다면 앞의 몇 자리만 기입해도 인식된다.
      • (Tip: 가장 최근의 커밋을 기준으로 하여 작업공간에서 발생한 변경사항을 모두 버리고 원래 상태로 돌아가는 명령어는 $ git checkout -- . 이다..)

7. log & diff

  • $**git log** : commit log을 열람할 수 있도록 하는 명령어
    • $ git log —oneline : 한 줄로 커밋 로그를 보여준다.
    • $ git log —p : 커밋 로그 내용까지 보여준다.
    • $ git log —-reverse : 커밋 로그 내용을 거꾸로(처음부터) 보여준다
  • $**git diff** : 커밋과 커밋 사이의 변경사항을 확인할 수 있게 하는 명령어
    • $ git diff A B : 버전 A와 B의 차이점을 보여준다.
    • $ git diff --staged : staging area에 있는 변화를 보여준다.

8. Reset & Revert

  • Reset과 Revert의 차이는?
    • Reset
      • Reset은 로컬 저장소에 있는 내용만 해야한다.
      • Push 된 자료들은 리셋이 안된다.
    • Revert
      • commit을 취소하면서 새로운 버전을 생성하는 것
  • $ git reset "버전 ID" —hard : 버전 id로 돌아가는 명령어
    • hard는 옵션이다. hard 말고도 다른 옵션이 있다.
  • $ git revert "버전 id" : 버전 id의 커밋을 취소한 내용을 새로운 버전으로 만드는 명령어

 

 💡 Commit Naming

 

  • Git commit message를 남길 때, 나름의 규칙들을 가지고 많이 한다.
  • 참고하면 좋을 듯한 글이다.

커밋 네이밍

좋은 git commit 메시지를 위한 영어 사전

'Git' 카테고리의 다른 글

#.6 Github Flow  (0) 2021.12.22
#.5 Git Flow  (0) 2021.12.22
#.4 branch  (0) 2021.12.22
#.3 Remote  (0) 2021.12.22
#.1 Git 이란?  (0) 2021.12.22
Comments