Git에 대해 알아보자 1편

Updated:

Git이란?

깃(Git)은 분산 버전관리 시스템으로, 여러 명의 개발자들 간에 작업을 조율하기 위한 시스템입니다. 원래는 Linux 소스코드를 관리할 목적으로 개발되었죠.

분산 버전 관리 시스템으로서 빠른 수행 속도에 중점을 두고 있는 것이 특징이며 데이터 무결성,분산, 비선형 워크플로를 지원합니다. 따라서, 소스 코드가 변경된 이력을 쉽게 확인할 수도 있고, 특정 시점의 버전과 비교하거나 특정 시점의 코드로 되돌아갈 수도 있어요.

그래서 내가 올리려고 했던 코드와 다른 사람의 코드가 충돌하면 서버에 업로드 할 때 경고메세지가 발생해서, 누군가 애써 편집한 내용을 덮어버리는 실수는 이제 없어지겠죠??

저장소란?

저장소는 Git Repository라고 불러요. 말그대로 파일이나 폴더를 저장해 두는 곳입니다. 그런데 Git 저장소의 장점 중 하나는 파일이 변경 이력 별로 구분되어 저장된다는 점입니다. 비슷한 파일이라도 실제 내용 일부 문구가 서로 다르면 다른 파일로 인식하기 때문에 파일을 변경 사항 별로 구분해 저장할 수 있습니다.

Git 저장소의 종류 : 원격과 로컬

Git은 원격 저장소와 로컬 저장소 두 종류의 저장소를 제공합니다.

  • 원격 저장소(Remote Repository): 파일이 원격 저장소 전용 서버에서 관리되며 여러 사람이 함께 공유하기 위한 저장소
  • 로컬 저장소(Local Repository): 내 PC에 파일이 저장되는 개인 전용 저장소

평소에는 내 PC의 로컬 저장소에서 작업하다가 작업한 내용을 공개하고 싶을 때에 원격 저장소에 업로드 합니다. 또한, 원격 저장소에서 다른 사람이 작업한 파일을 로컬 저장소로 가져올 수도 있습니다.

저장소를 만들어보자!

저장소를 만드는 방법에는 두 가지가 있습니다.

첫 번째는 로컬에 프로젝트 폴더를 만들어 원격 저장소로 만드는 방법이에요. 먼저 본인의 github 계정으로 가입/로그인해서 sample-git이라는 이름의 repository를 만들어주세요. 그리고나서 본인의 로컬컴퓨터에 git bash 또는 terminal을 열어서 아래 command를 입력해 로컬 저장소를 만들고 원격 저장소와 연결해볼게요.

Windows OS를 사용하시는 분들은 Git 설치를 먼저 진행해주세요

$ mkdir myproject1
$ cd myproject1
$ echo "# sample-git" >> README.md

$ git remote add origin https://github.com/Juyounglee95/sample-git.git

git remote add github주소 로 로컬저장소와 원격저장소를 연결했어요.

프로젝트 폴더 안에 Hello world를 출력하는 python파일을 만들어볼게요.

파일을 저장하고, 이제 원격저장소에 로컬저장소 내용을 업로드 할게요.

$ git add sample.py
$ git commit -m "py commit"
$ git push -u origin master

git add [filename]으로 파일을 git에 add 하고 git commit -m "commit message" 로 commit 메세지와 함께 git 저장소 내의 staging 상태의 파일로 저장했어요. git push -u origin master로 원격저장소에 git 저장소 내의 staging 파일을 모두 업로드했어요.

이제 생성했던 원격저장소에 정말로 sample.py파일이 업로드 되었는지 확인해볼게요.

원격저장소에 파일이 정상적으로 업로드되었고, 그 내용도 확인했어요.

이번 포스팅에서는 Git과 Github을 사용에서 가장 기초적인 개념과 실습을 해봤어요. 다음엔 Git이 어떻게 파일을 관리하는 지, 어떻게 Git으로 협업할 수 있는지 알아볼게요.

참고자료: https://backlog.com/git-tutorial/kr/intro/intro2_3.html