저장소 안의 파일들의 상태를 확인해보자 :: git status
Git 튜토리얼 2
Git 저장소에 넣은 파일들을 어떻게 관리될까?
Git은 자기 폴더에 있는 파일을 크게 Tracked, Untracked 이 두 가지의 상태로 분류해서 관리합니다.
- Tracked: Git이 관리해주는 상태
- Untracked: Git이 관리하지 않는 상태
Git이 그 파일을 관리를 해주면 Tracked File, 관리해주지 않으면 Untracked File이라고 부릅니다.
먼저 Tracked File에 대해서 자세히 알아봅시다.
Tracked File이란?
Git이 관리해주는 파일(Tracked File)은 다시 한번 더 파일의 상태를 3개의 상태로 세분화해서 관리합니다.
Tracked File의 세 상태
- Unmodified: 파일이 수정되지 않은 상태 (= 파일이 최근에 저장한 상태 그대로임)
- Modified: 파일이 수정된 상태 (= 파일이 최근에 저장한 파일과 달라짐)
- Staged: 파일을 저장할 예정인 상태 (= 이 파일을 저장할 것이라는 뜻)
이러한 세분화된 상태들을 보고 우리들은 다음과 같은 정보를 알 수 있습니다.
파일의 상태가
- Unmodified/Modifed/Stage일 경우: 이 파일이 Git에 의해 관리가 되고 있다.
- Untracked일 경우: 이 파일은 Git에 의해 관리가 안되고 있다. (= 방금 추가한 파일이거나 쓸모없는 파일임을 추측 가능)
- Modified일 경우: 이 파일은 변경되었다. 변경되었다고 기록을 해야 한다.
- Unmodified일 경우: 이 파일은 저번에 저장한 파일과 비교해보니 그대로이다.
- ...
다음으로 Untracked File에 대해 자세히 알아봅시다.
Untracked File이란?
Untracked File은 이 파일이 Git 저장소에는 있지만 Git에 의해서 관리되고 있지 않은 파일입니다. Unmodified/Modifed/Stage이 세 가지 외의 상태는 모두 Untracked입니다. Untracked File은 삭제되든 변형이 일어나든 Git이 추적하고 있지 않기 때문에 손상되었을 때 Git으로 복구할 수 없습니다.
Git이 파일을 분류하는 방법에 대해서 알아봤습니다. 우리가 Git으로 관리되는 폴더에 넣어준 모든 파일은 이렇게 관리가 됩니다. 이제 이러한 Git이 분류해주는 파일의 상태를 확인하는 명령어를 배워봅시다.
내 파일들의 상태 확인하기
git status
Git 저장소에 있는 파일들의 상태는 git status
라는 명령어를 통해서 알 수 있습니다.
git-bash를 켠 후 git init을 했었던 곳으로 cd한 후, git status
명령어로 내 파일들의 상태를 살펴봅시다.
방금 Git 저장소로 선언한 폴더는 당연히 아무 파일도 없고 비어있습니다.
그래서 아무것도 기록할 것이 없다(nothing to commit)고 뜹니다. 여기서 Commit은 일단 하나의 기록 또는 버전이라고 이해합시다. 그래서 "Commit을 한다", "Commit을 만든다"라는 말은 하나의 버전으로 저장한다라는 뜻입니다.
그럼 이제 한번 파일을 추가하고 Git이 그 파일의 상태를 확인해봅시다.
mytext.txt 텍스트 파일을 생성해보고 현재 저장소의 상태를 봅니다.git status
의 결과는?
새로 들어왔기 때문에 mytext.txt라는 파일은 Git 저장소가 관리하고 있지 않는 Untracked File이라고 나옵니다.
myothertext.txt 텍스트 파일을 생성하고 현재 저장소의 상태를 봅시다.git status
의 결과는?
우리가 아무런 작업도 해주지 않은 파일인 mytext.txt 파일과 새로 들어온 myothertext.txt 파일 둘 다 당연히 Untracked File로 나옵니다.
그렇다면 이제 새로 넣어준 File을 Git이 Tracked 상태로 만드는 방법이 궁금합니다. git add 파일명
명령어를 사용하면 Git이 그 파일을 관리하게 됩니다.
mytext.txt 파일을 Git이 이제 관리하게 하기 위해서 git add mytext.txt
명령어를 치고 한번 파일들의 상태를 살펴봅시다.
아무런 작업도 해주지 않은 myotherfile.txt는 여전히 Untracked 상태이고 mytext.txt는 Tracked의 상태중 하나인 Stage상태로 바뀌었습니다.
파일을 Stage상태로 만들어주는 명령어인 git add
git add 파일명
git add
명령어로 파일을 추적하게 만들 수 있습니다. 이 명령어에 대해서는 이후 Commit 튜토리얼에서 상세하게 설명하겠습니다.
다음 튜토리얼: [Git Tutorial 3] - Commit하기 위해 사용자 설정하기 :: git config (system vs global vs local)
댓글
이 글 공유하기
다른 글
-
Stage it! Commit할 파일을 선택해보자 :: git add [파일명]
Stage it! Commit할 파일을 선택해보자 :: git add [파일명]
2020.07.07 -
Commit하기 위해 필요한 Git 설정하기 :: git config (system vs global vs local)
Commit하기 위해 필요한 Git 설정하기 :: git config (system vs global vs local)
2020.07.06 -
Git 저장소 만들기 :: git init
Git 저장소 만들기 :: git init
2020.07.06 -
Git을 사용하기 위해 알아야 할 용어 및 개념들 :: Repository, Commit, Local, Remote, GitHub
Git을 사용하기 위해 알아야 할 용어 및 개념들 :: Repository, Commit, Local, Remote, GitHub
2020.07.06