형상관리/Git

Git init/status/config/add/commit/log

jungmin.park 2023. 10. 26. 10:25

init(Git 저장소 생성)

  • 현재 디렉토리에서 작업을 진행하겠다는 것을 알리는 명령어 -> 즉, 버전관리를 시작
  • .git 이 생성되는데 버전관리 정보를 담고있다. ( 삭제에 주의 )
  • f1.txt 파일을 만들어 source : 1 텍스트를 추가하고 저장했다.
f1.txt 

source : 1

 

  • 버전 : 작업의 단위, 작업이 완결된 상태

 

status( 파일 상태 확인하기 )

  • git status을 입력하게 되는 경우 다음과 같은 화면이 나옴
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        f1.txt

nothing added to commit but untracked files present (use "git add" to track)
  • f1.txt이 추적되고 있지 않다고 나옴.
  • f1.txt 파일을 git한테 버전관리를 알리기 전까지 git은 이를 무시한다.
  • stage area에 올려진 상태가 아닌 것

 

add( 스테이징 영역으로 올리기 )

  • 작업 디렉토리(working directory) 상의 변경 내용 -> 스테이징 영역(staging area) 에 올려주는 명령어
  • 최초로 추적을 할 때 버전 생성 명령어
  • 이미 버전관리가 되고 있는 파일이 수정된 이후 버전을 생성할때도 같은 명령어를 사용
  • git add 한 이후 status 했을 때 상태가 변화
$ git add f1.txt
warning: LF will be replaced by CRLF in f1.txt.
The file will have its original line endings in your working directory

Nethru@DESKTOP-PTQ94IS MINGW64 ~/Desktop/Documents/gitfth (master)
$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   f1.txt

 

config --global ( 버전이 자신이 만든것임을 알리는 정보 추가 )

git config --global user.name [이름 or 닉네임]

git config --global user.name [이메일]

 

commit( stage area -> repository, 버전 생성 )

1 ( 사용자가 작성한 내용 )
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch master
#
# Initial commit
#
# Changes to be committed:
#       new file:   f1.txt
#
  • git commit 입력 시 이 파일에 대한 커밋 메세지 작성이 가능

 

git add 와 git commit 차이

- git add는 커밋대기상태로 들어감
- git commit 커밋대기상태의 파일들만 버전에 포함시킨다.
   즉, stage area에 있는 파일들이 올라가는 것
   
   stage : 커밋대기상태인 파일들이 가는 곳
   repository : 커밋된 결과가 저장되는 공간

 

log ( 버전 생성 로그 )

  • 닉네임, 이메일, 언제 버전을 생성했는지 나와있음.
$ git log
commit 981e45f57274b9f040b687a0c82739c8956e18b5 (HEAD -> master)
Author: jeongmin <pjm9673@gmail.com>
Date:   Tue Dec 27 11:12:27 2022 +0900

    1

 

commit 시 주의사항

커밋은 하나의 과정만 담는 것이 옳다.
커밋 시기를 놓치는 경우(이미 많은 작업을 한 후) add 과정을 통해 커밋하고 싶은 파일들을 선택적으로 커밋 가능
커밋하지 않은 파일은 modified 상태로 남아있다.