형상관리/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 상태로 남아있다.