-
git2(버전 관리)git 2022. 3. 29. 16:53
1.깃 저장소 만들기
깃 초기화
$ git init
깃을 사용할 수 있도록 디렉터리 초기화
git init 을 하면 .git 이라는 디렉터리가 생성된다. (숨어있음)
.git이 깃을 사용하면서 버전이 저장될 저장소(repository)
2. 버전 만들기
- 작업 트리(working tree) : 파일 수정, 저장 등의 작업을 하는 디렉터리
----------------------
- 스테이지(stage) : 버전으로 만들 파일이 대기하는 곳
- 저장소(repository, 리포지토리) : 스테이지에서 대기하고 있던 파일들을 버전으로 만들어 저장하는 곳
[스테이지, 저장소]
: .git 디렉터리 ( 숨은 파일 형태로 존재하는 영역, 눈에 보이지 않음 )
-깃이 버전을 만드는 과정
- hello.txt 파일 문서를 수정하고 저장 -> 파일은 작업 트리에 존재
- 수정한 hello.txt 파일을 버전으로 만들고 싶을 때 스테이지에 넣기
- 커밋 (commit) 명령
- 새로운 버전이 생성되면서 스테이지에 대기하던 파일이 모두 저장소에 저장됨
3. 깃 명령어
-깃 상태 확인 (git status)
$ git status
1. 현재 브랜치
2. 커밋한거
3. 커밋할거
-수정한 파일 스테이징 (git add)
$ git add hello.txt
작업 트리에서 파일을 만들거나 수정하고 → 스테이지에 파일 추가
→ git status 으로 확인하기
<<작업트리 -----(add)-----> 스테이지>>
-스테이지에 올라온 파일 커밋하기 (git commit)
$ git commit -m "message1"
파일이 스테이지에 있으면 버전 만들기(커밋)가 가능
커밋할 때는 변경 사항과 함께 기록
커밋한 후 깃 상태
버전으로 만들 파일이 없고 (nothing to commit)
작업 트리도 수정사항 없이 깨끗하다(working tree clean)
<<스테이지 -----(commit)-----> 저장소>>
-스테이징과 커밋 동시에 하기 (git commit -am)
$ git commit -am "message2" $ git commit -a -m "message2"
-커밋 기록 확인 (git log)
$ git log
방금 커밋한 버전에 대한 설명 (커밋 해시, 최신버전(O/X), 작성자, 만든 시간, 커밋 메시지)
- 커밋 해시 : 영문과 숫자로 된 긴 문자열 (커밋 구별하는 아이디같은거)
- (HEAD -> master) : 가장 최신이라는 표시
- Author : 작성자
- Date : 버전 만든 날짜
- 커밋 메시지
-변경 사항 확인 (git diff)
$ git diff
작업 트리에 있는 파일과 스테이지에 있는 파일을 비교
-커밋에 관련되 파일까지 함께 보기 (git log --stat)
$ git log --stat
가장 최근 커밋한 순서부터 미시지와 관련 파일이 나열
Enter : 다음 로그 화면
Q : 로그 화면 빠져 나가기
4.tracked 파일과 untracked 파일
-tracked : 한 번이라도 커밋을 한 파일의 수정 여부를 계속 추적
-untracked : 한 번도 깃에서 버전 관리를 하지 않은 파일 → 수정 내역을 추적 XX
5. .gitignore 파일로 버전 관리에서 제외
버전 관리 중인 디렉터리 안에 버전 관리를 하지 않을 특정 파일 또는 디렉터리
-> .gitignore 파일을 만들어 목록을 지정
6.unmodified, modified, staged 상태
'git' 카테고리의 다른 글
git6(ssh 원격 접속) (0) 2022.04.01 git5(remote/push/pull) (0) 2022.04.01 git4(branch) (0) 2022.03.31 git3(버전 관리2) (0) 2022.03.31 git1(리눅스 명령 연습) (0) 2022.03.29