본문 바로가기

코딩/Git&Git Hub

비전공자의 코딩 독학 - 깃&깃허브[1] 깃과 깃허브란?

반응형

안녕하세요.

오늘의 코딩독학 주제는 깃과 깃허브에 대해 간단히 알아보는 것입니다.

 

 

1. 깃(Git)이란 ?

여러 개발자들이 특정 프로젝트를 협업할때

컴퓨터 파일의 변경사항을 추적하고

버전을 관리할 수 있도록 해주는 시스템으로써

정확히 말하자면 분산 버전 관리 시스템을 의미합니다.

 

누가 언제 어떤 코드를 수정했는지 트래킹할 수 있으며

팀단위로 작업을 할때 장점이 십분 발휘됩니다.

 

 

2. 분산버전관리 시스템이란?

중앙 서버 컴퓨터에 A컴퓨터의 파일을 업데이트하면

B컴퓨터에도 해당 업데이트가 반영되도록 해주는 시스템을

분산버전 관리 시스템이라고 부릅니다.

결과적으로 A와B의 데이터베이스가 동일하게 유지됩니다.

 

 

3. 깃의 장점

(1) 언제든지 롤백할 수 있습니다.

(2) 컴퓨터를 옮겨도 최근 작업을 이어할 수 있습니다.

(3) 컴퓨터가 고장나도 프로젝트는 안전합니다.

(4) 협업이 용이합니다.

(5) 다양한 오픈소스 프로젝트들이 있어서 거기에 참여가능합니다.

(6) 개발자들의 포트폴리오 역할을 합니다.

 

 

4. 깃 다운로드 및 설치

우선 아래 링크를 클릭합니다.

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

링크를 통해 깃 다운로드 사이트에 접속하면

아래와 같은 화면이 보이실 겁니다.

본인의 운영체제를 클릭하시면 다운로드가 진행됩니다.

다운로드된 설치파일을 실행하신 후

[Next]버튼을 클릭하시다 보면

아래와 같은 설정창이 나타납니다.

본인이 사용중이신 텍스트 에디터를 선택하신 후

다시 설치를 재개해주시면 됩니다.

설치가 완료되었다면

유저명과 이메일을 설정해줄 차례입니다.

아래와 같이 [Git Bash]를 실행합니다.

다음과 같은 콘솔창이 뜨면

아래와 같은 명령어를 순차적으로 입력하여

유저명과 이메일 주소를 설정해줍니다.

$git config --global user.name "이름"
$git config --global user.email "이메일주소"

이후 아래와 같은 명령어를 입력하여

정상적으로 설정이 되었는지 확인해줍니다.

$git config --list

설정이 정상적으로 되었다면 아래 그림의 흰 부분에

설정하신 이름과 이메일 주소가 표시됩니다.

 

 

5. 깃허브(Git Hub)란?

오픈소스 깃 호스팅 서버로써

삭막하게 명령어로 제어하던 깃을

그래픽 유저 인터페이스(GUI)를 바탕으로

편리하게 사용할 수 있도록 해주기도 하여

현재 가장 인기있는 깃 호스팅 사이트로 자리매김하였습니다.

 

깃허브는 스타트업으로 시작하여

현재는 마이크로소프트에 인수되었지만

공개 프로젝트는 완전 무료로 이용할 수 있고,

비공개 프로젝트 역시 제한적이지만 무료로 사용할 수 있습니다.

 

그렇다면 깃과 깃허브의 차이점은 무엇일까요?

깃은 말그대로 소스코드를 관리해주는 시스템 그자체이며

깃허브는 깃을 호스팅 해주는 서버입니다.

 

 

6. 간단한 용어 정리

(1) 커밋(Commit)

파일이나 폴더의 추가 및 변경 사항을 기록하는 행위를 커밋이라고 부릅니다.

 

(2) 저장소(Repository)

커밋된 파일 및 폴더가 저장되는 장소입니다.

주의점으로는 디렉토리 명이 한글이면 오류가 발생할 수 있으니

개발환경이 포함된 경로에 한글이 들어있으면 안됩니다.

예를들면 아래와 같이

C://Users/훈민정음/MyProject

같은 형식의 경로에서 작업을 진행하면 깃이 오류를 일으킬 수 있습니다. 

 

참고로

로컬저장소는 본인의 PC에 존재하는 저장소이며

원격저장소는 서버 등 네트워크상에 존재하는 저장소입니다.

 

(3) 브랜치(Branch)

프로젝트에 공통적으로 참여하는 개발자들이

독립적으로 세부작업을 진행하게 되었을때

각자의 작업이 다른 사람의 작업에 영향을 주지 않도록 하기 위해

분기점을 만들어주는데 이때 아래 그림과 같이

각 세부작업 별로 브랜치가 생성됩니다.

이후 각자의 작업이 끝나면 개별 브랜치들의 병합이 가능합니다.

 

(4) 푸시(Push)

커밋이 파일을 추가하거나 변경한 내용을 로컬 저장소에 저장하는 것이라면

변경내용을 원격 저장소에 업로드하는 작업을 푸시라고 합니다.

 

 

 

 

오늘은 깃에대해 간단히 알아보았습니다.

다음번엔 더 많은 정보로 돌아오겠습니다.

 

반응형