안녕하세요. 이번 시간에는 진행중인 프로젝트에 git 저장소를 생성하고, 최초로 commit을 해보겠습니다.
깃 명령어를 사용하는 방법은 여러가지가 있지만 저는 주로 명령프롬프트(CMD)를 사용합니다. 따로 설치할 필요가 없으니까요. 아니면 통합 개발 환경(IDE)에 내장되어 있는 터미널을 사용하거나, Git을 설치할 때 딸려오는 Git Bash나 Git GUI를 사용하는 것도 괜찮습니다. 하지만 무엇을 사용하든 명령어는 같으니 너무 걱정하지 마세요.
이제 프로젝트를 하나 만들어보겠습니다. 아무 곳에나(쉽게 하려면 C:\) gitExample 폴더를 만들고, gitExample 폴더에 git.html과 git.css를 만듭니다. 내용은 다음과 같이 하겠습니다.
git.html
<!DOCTYPE html>
<html>
<head>
<title>깃 연습</title>
<link rel="stylesheet" href="./git.css" />
</head>
<body>
<h1>깃 연습</h1>
<p><b>깃</b>의 사용 방법에 대해 알아봅시다</p>
</body>
</html>
git.css
@css
h1 {
font-size: 2rem;
}
p {
font-size: 1rem;
}
git init
이제 명령 프롬프트로 자신의 프로젝트 폴더 위치로 이동합니다. cd [경로] 명령어를 사용하면 됩니다. 그리고 git init을 쳐봅시다. Initialized empty Git repository in [경로] 이렇게 한 줄이 나오고, 프로젝트 폴더 안에 .git이라는 숨겨진 폴더가 생성되었습니다. 만약 폴더가 안 보인다면, 보기에서 숨겨진 파일 보기를 체크하세요.
이제 여러분은 이 프로젝트에 Git을 사용할 수 있습니다. 시작은 정말 간단하죠?
git status
다음으로 git status를 쳐봅시다. 현재 파일들의 상태를 볼 수 있습니다.
한 줄씩 보자면, 일단 현재 branch는 master입니다. 이거는 이따가 설명할 거니까 넘어가겠습니다. 그리고 Initial commit이라고 나와있는데요. commit을 해야만 Git에 파일이 저장됩니다. 즉 Git이 '이 파일이 내가 관리해야하는 파일이구나' 하고 알게 되는 겁니다.
아직은 commit하지 않았기 때문에 지금 상태로는 어떠한 일도 일어나지 않습니다. 처음 commit하는 것이기 때문에 Initial commit이라고 나와있습니다.
그리고 Untracked files: git.css, git.html 이라고 되어있습니다. 여기서부터가 중요합니다. 무시무시하게 빨간색으로 되어 있죠? 저렇게 빨간색으로 되어있으면 저 파일은 commit되지 않습니다. 위에 설명을 보니까 commit 대상에 포함시키려면 git add [파일 이름]을 하라고 나와있네요.
git add
git add git.html을 하고 다시 git status를 해봅시다.
어? 이제 초록색으로 git.html이 표시되네요? 마음이 편해집니다. new file: git.html 이라고 commit될 대기 중임을 알려줍니다. 이 상태로 commit을 하면 아직 git.css는 저장되지 않습니다. add하지 않았기 때문이죠. 이제 git.css도 git add git.css로 저장해줍니다.
그런데 만약 파일이 수십 수백 개라면 하나하나 add하기 힘들겠죠? 그럴 때는 git add . 으로 Untracked 파일들을 모두 다 저장할 수 있습니다.
모든 파일이 Tracked 상태입니다. 참고로 add된 파일을 다시 Untracked(빨간색)으로 되돌리고 싶다면 git rm [파일명] 하면 됩니다.
git commit
이제 모든 파일이 commit 대기 중이니까 commit을 해봐야겠죠? git commit -m [설명]하면 됩니다. -m 옵션이 다음에 설명이 온다는 것을 표시합니다.
주의할 점은 로그인을 안 한 경우는 에러가 뜹니다. 그 때는 git config --global user.email "내 이메일", git config --global user.name "내 이름" 명령어를 쳐서 자기 정보를 등록한 후에 다시 commit합니다.
First commit이라는 설명으로 commit을 해봤습니다. 밑에 commit에 대한 설명이 나오는 데 2개의 파일이 바뀌었고, 17줄이 새로 추가되었다고 나오네요. 그 후 다시 git status를 했더니 이제 빨간색도, 초록색도 나오지 않습니다. 모두 다 저장되었음을 알 수 있습니다.
이제 이 첫 번째 commit을 기준으로 여러분은 자유롭게 코드를 수정하거나 추가, 삭제할 수 있습니다. 만약 문제가 생기면 언제든지 이 commit으로 돌아오면 됩니다. 그 방법은 뒤에서 알려드립니다.
참고로 add와 commit을 동시에 하는 방법이 있습니다. git commit -am [설명] 으로 -a를 추가해주면 add도 동시에 됩니다. 나중에는 귀찮아서 한번에 하는 경우가 많습니다.
git log
마지막으로 commit된 내역을 볼 수 있는 명령어 git log입니다.
이제 commit을 하면 할 수록 여기에 차곡차곡 쌓입니다. 이렇게 쌓인 commit 간에 되돌릴 수도 있고 서로 합칠 수도 있습니다. 그 방법은 나중에 알아보겠습니다. git log를 치는 순간 다른 명령어를 칠 수가 없게 되는데 q를 눌러 빠져나올 수 있습니다. (위 아래 방향키로는 로그를 위로 올리거나 아래로 내릴 수 있습니다)
이로써 여러분은 Git에 입문하게 된 겁니다. 프로젝트 내에서 파일이 Untracked와 Tracked로 나뉜다는 사실을 배웠죠? add를 통해서 Untracked를 Tracked로 전환할 수 있고, Tracked된 파일만이 commit을 통해 Git에 저장됩니다. 다음 시간에는 원격 저장소(Github)에 commit한 것을 push해보겠습니다!