git 설명(초보자용)

2019. 8. 22. 18:21git

안녕하세요.

 

이번 시간에는 해커톤을 하면서 경험했던 많은 삽지들을 통해 얻은 git을 잘 쓰는 법(초보자용)에 대해 알아보겠습니다.

 

저도 git을 쓴지 얼마 안됐기 때문에 정말 git 초보이신분들만 보시길 바랍니다.

 

먼저 git이란

 

'컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하는 분산 버전 관리 시스템'

입니다.

 

간단히 말하면 개발자들이 협업할때 도와주는 관리 시스템이라고 보면 됩니다.

 

git을 사용하기 위해서는 git을 깔아야합니다.

 

https://git-scm.com/downloads

 

Git - Downloads

Downloads Mac OS X Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but there are several third-party tools for users looking for a platform-specific

git-scm.com

위 링크에 들어가 각자 OS에 맞게 git을 설치합니다.

 

잘 설치 됐는지 확인해보겠습니다.

 

터미널에 들어가서

 

$ git --version

 

을 칩니다.

 

git version 2.21.0.windows.1
저는 이렇게 뜨네요.

 

잘 깔렸나요? 이제부터 여러분들을 git을 쓸 수 있습니다!

 

이제부터는 git과 관련된 터미널 명령에 대해 알아보겠습니다.

 

먼저 여러분들이 작업하는 폴더를 git이 인식하고 변경 내용들을 기록하게끔 해야겠죠?

 

여러분들이 작업하는 폴더에 들어가

 

$ git init

을 칩니다.

 

이제부터 git init을 친 디렉토리와 하위 디렉토리에서 일어나는 일들은 git이 관리할 수 있습니다.

 

여러분들의 작업 폴더에 들어가서 <보기>를 클릭하고 <표시/숨기기>에서 [숨긴 항목]을 선택해보세요.
그럼 위와 같이 숨겨진 git 폴더가 보일거에요. 여기서 여러분들의 작업 내용들을 기록한다고 보시면 됩니다!

 

이제 본격적으로 git을 써보도록 할게요.

 

아무 파일이나 내용을 변경한 다음

 

$ git status

를 쳐볼게요.

 

git status 결과 화면

여러분들도 저처럼 뜨시나요?

 

위 화면은 변경된 파일이 있으니 git에 추가하라는 뜻입니다. 즉, new.html이라는 파일이 변경 되었지만 아직 git에는 추가가 되지 않은거죠.

 

그럼 git에 변경된 파일을 추가하겠습니다.

 

$ git add new.html 

 

git add를 한 후 git status 화면

git add를 하고 나서 Changes to be committed라고 뜨며 초록색으로 해당 파일이 뜨죠?

 

이제 git이 해당 파일의 변경 내용을 저장했다는 뜻입니다.

 

참고로 변경된 모든 파일을 add하고 싶다면

 

$git add .

을 쓰시면 됩니다.

 

하지만 나중에 협업을 할때는 충돌이 생길 수 있으니 git status로 확인해가면서 git add를 하는 것을 추천드려요.

 

이제 변경된 파일은 git 폴더에 index라는 변경 내역 임시 저장소에 저장이 됩니다.

 

이제 커밋을 해보겠습니다. 

 

$ git commit -m 'first commit'

 

'first commit'에서 ''사이 내용은 여러분들이 정하시면 됩니다.

(ex) 만약 댓글 기능을 추가했다면 $ git commit -m '댓글 기능 추가' 이런식으로 하면 되겠죠?)

참고로 m은 message라는 뜻입니다. commit할때 메시지를 남기는 거죠!

 

이제 index는 비워지고 commit 기록이 저장됩니다.

 

커밋을 했다면 다음과 같이 나올겁니다.

 

git commit 후 화면

 

commit이 잘 이루어졌는지 확인하려면 

 

$ git log

를 치시면 됩니다.

 

git log 화면

다음과 같이 commit이 잘 됐다는 것을 볼 수 있습니다.

 

참고로 $ git log는 지금까지의 모든 commit 기록을 볼 수 있습니다.

 

커밋을 하고 또 파일을 변경했다면 지금까지의 과정(git add -> git commit)을 반복하시면 됩니다. commit을 할때만다 commit 기록이 log에 쌓이게 됩니다.

 

만약 지금까지 10번의 commit을 했다면 git log에는 10번의 commit 기록 모두 남아있습니다.

 

만약 개발을 하다 삽질을 했다면 여러분들이 기록한 commit 중 하나로 돌아갈 수 있습니다. 

 

예를 들어, 중간 중간 commit을 하면서 계속 개발을 하다 잘못된 길로 갔다면 해당 파일을 삭제하고 다시 시작하는게 아니라 지금까지 commit 중에 하나로 돌아가면 됩니다.

 

git log 화면

$ git log

를 해보니 저는 지금까지 총 3번의 commit을 했네요.

 

그러다 지금 완전 삽질을 해서 어디를 고쳐야 될지 모르겠어요. 

 

그럼

$ git reset --hard 커밋 번호

을 하시면 해당 번호의 커밋으로 돌아가게 됩니다.

 

git reset 화면

제 3번째 commit의 번호는 1912415477865721b5bdf5c0f4a59798e1edf946이기 때문에 해당 번호를 $git reset --hard 뒤에 붙였습니다.(git log를 통해 commit의 번호를 확인할 수 있습니다!)

 

참고로 모든 번호가 아니라 앞의 4자리만 붙여도 돌아갈 수 있습니다.

 

git reset(commit 번호 4자리만 붙였을때)

 

지금까지 여러분들이 개발을 하면서 파일을 변경할때마다 git을 통해 저장하고 다시 돌아갈 수 있는 방법에 대해 알아봤습니다.

 

지금까지의 내용은 여러분들의 local 컴퓨터에서 일어나는 일이었는데 다음에는 git hub을 통해 원격으로 다른 사람과 같이 협업하는 내용에 대해 알아보겠습니다.

 

또한, branch를 통해 더 효율적으로 작업을 분할하는 방법에 대해 알아보겠습니다!

 

고생 많으셨고 틀린 내용이 있다면 바로 알려주세요!