게시글

5만명이 선택한 평균 별점 4.9의 제로초 프로그래밍 강좌! 로드맵만 따라오면 됩니다! 클릭
강좌2 - Git - 8년 전 등록 / 5년 전 수정

Git 저장소 생성(init), 최초로 commit하기

안녕하세요. 이번 시간에는 진행중인 프로젝트에 git 저장소를 생성하고, 최초로 commit을 해보겠습니다.

깃 명령어를 사용하는 방법은 여러가지가 있지만 저는 주로 명령프롬프트(CMD)를 사용합니다. 따로 설치할 필요가 없으니까요. 아니면 통합 개발 환경(IDE)에 내장되어 있는 터미널을 사용하거나, Git을 설치할 때 딸려오는 Git Bash나 Git GUI를 사용하는 것도 괜찮습니다. 하지만 무엇을 사용하든 명령어는 같으니 너무 걱정하지 마세요.

이제 프로젝트를 하나 만들어보겠습니다. 아무 곳에나(쉽게 하려면 C:\) gitExample 폴더를 만들고, gitExample 폴더에 git.htmlgit.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이라는 숨겨진 폴더가 생성되었습니다. 만약 폴더가 안 보인다면, 보기에서 숨겨진 파일 보기를 체크하세요.

undefined

이제 여러분은 이 프로젝트에 Git을 사용할 수 있습니다. 시작은 정말 간단하죠?

git status

다음으로 git status를 쳐봅시다. 현재 파일들의 상태를 볼 수 있습니다.

undefined

한 줄씩 보자면, 일단 현재 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를 해봅시다.

undefined

어? 이제 초록색으로 git.html이 표시되네요? 마음이 편해집니다. new file: git.html 이라고 commit될 대기 중임을 알려줍니다. 이 상태로 commit을 하면 아직 git.css는 저장되지 않습니다. add하지 않았기 때문이죠. 이제 git.cssgit add git.css로 저장해줍니다.

그런데 만약 파일이 수십 수백 개라면 하나하나 add하기 힘들겠죠? 그럴 때는 git add . 으로 Untracked 파일들을 모두 다 저장할 수 있습니다.

undefined

모든 파일이 Tracked 상태입니다. 참고로 add된 파일을 다시 Untracked(빨간색)으로 되돌리고 싶다면 git rm [파일명] 하면 됩니다.

git commit

이제 모든 파일이 commit 대기 중이니까 commit을 해봐야겠죠? git commit -m [설명]하면 됩니다. -m 옵션이 다음에 설명이 온다는 것을 표시합니다.

주의할 점은 로그인을 안 한 경우는 에러가 뜹니다. 그 때는 git config --global user.email "내 이메일", git config --global user.name "내 이름" 명령어를 쳐서 자기 정보를 등록한 후에 다시 commit합니다.

undefined

First commit이라는 설명으로 commit을 해봤습니다. 밑에 commit에 대한 설명이 나오는 데 2개의 파일이 바뀌었고, 17줄이 새로 추가되었다고 나오네요. 그 후 다시 git status를 했더니 이제 빨간색도, 초록색도 나오지 않습니다. 모두 다 저장되었음을 알 수 있습니다.

이제 이 첫 번째 commit을 기준으로 여러분은 자유롭게 코드를 수정하거나 추가, 삭제할 수 있습니다. 만약 문제가 생기면 언제든지 이 commit으로 돌아오면 됩니다. 그 방법은 뒤에서 알려드립니다.

참고로 add와 commit을 동시에 하는 방법이 있습니다. git commit -am [설명] 으로 -a를 추가해주면 add도 동시에 됩니다. 나중에는 귀찮아서 한번에 하는 경우가 많습니다.

git log

마지막으로 commit된 내역을 볼 수 있는 명령어 git log입니다.

undefined

이제 commit을 하면 할 수록 여기에 차곡차곡 쌓입니다. 이렇게 쌓인 commit 간에 되돌릴 수도 있고 서로 합칠 수도 있습니다. 그 방법은 나중에 알아보겠습니다. git log를 치는 순간 다른 명령어를 칠 수가 없게 되는데 q를 눌러 빠져나올 수 있습니다. (위 아래 방향키로는 로그를 위로 올리거나 아래로 내릴 수 있습니다)

이로써 여러분은 Git에 입문하게 된 겁니다. 프로젝트 내에서 파일이 UntrackedTracked로 나뉜다는 사실을 배웠죠? add를 통해서 Untracked를 Tracked로 전환할 수 있고, Tracked된 파일만이 commit을 통해 Git에 저장됩니다. 다음 시간에는 원격 저장소(Github)에 commit한 것을 push해보겠습니다!

조회수:
0
목록
투표로 게시글에 관해 피드백을 해주시면 게시글 수정 시 반영됩니다. 오류가 있다면 어떤 부분에 오류가 있는지도 알려주세요! 잘못된 정보가 퍼져나가지 않도록 도와주세요.
Copyright 2016- . 무단 전재 및 재배포 금지. 출처 표기 시 인용 가능.
5만명이 선택한 평균 별점 4.9의 제로초 프로그래밍 강좌! 로드맵만 따라오면 됩니다! 클릭

댓글

9개의 댓글이 있습니다.
4년 전
커밋도 했고, git log 확인해보면 커밋도 제대로 된 것 같은데 깃허브에 들어가보면 커밋이 되어있지 않네요 왜그럴까요?ㅠㅠ
4년 전
github는 git이랑 별개 서비스입니다. push 안하신것같네요.
4년 전
최고에요 제로초님! 너무 명료하게 잘 설명되어서 덕분에 쉽게 이해할 수 있었어요! 감사합니다!
4년 전
이해가 엄청쉽게되었습니다. 감사합니다.
4년 전
와 설명 대박이십니다. 깃데탑만 쓰다가 이거보고 터미널도 쓸 수 있겠되었어요!! 너무 감사합니다
5년 전
제 블로그에 퍼가도 될까요. 처음하는분들에게 좋은 글이네요.
5년 전
출처만 밝혀주세요.
5년 전
window안의 wsl로 리눅스로 할때는 프로젝트 파일 접근을 어떻게 해야할까요...초보라서..ㅠㅠ
5년 전
cd로 경로 찾아가시면 됩니다.
5년 전
위에 설명에서 add로 Untracked를 Tracked로 전환한다고 이해했는데 아래쪽에는 commit을 통해서 한다고 되어있네요...뭐가 맞나요?
5년 전
add입니다.
5년 전
unstage가 커맨드창에 나왔는데 설명 안하셨고 너무 방법론적인 이야기만 하시는데 좀 더 구체적인 설명이 필요합니다.
6년 전
언제나잘보고있습니다. 꼭 필요한내용이 아니더라도 설명을 너무조리있게 논리적으로 잘하셔서 글읽는맛이 난다고할까요. 좋은글감사합니다.