본문 바로가기
Study/Knowledge

[Git] Git의 기초, 개념, 구조, 간단 사용법

1. Git(깃) 이란?

협업도구, 소스의 버전관리 (형상관리) tool, 무료 소스 관리 시스템이다.

Git을 활용하여, 로컬에서 자신의 개발 소스에 대한 섬세한 관리가 가능하고, Remote Repository(원격 저장소)에 영구적인 백업과, 다양한 협업이 가능하도록 지원하는 기능을 가리킨다.

Git의 대표적인 서비스를 지원하는 회사로 GitHub와 GitLab이 있다.

 

Git hub  vs  Git Lab

깃허브는 세계최대 규모의 Git 저장소로 무료 서버저장소를 지원하기때문에, 초급~고급 개발자 모두 이용하며, 수많은 개인 개발자들, 팀개발자들이 이용하는 서비스이다. 깃허브는 무료로 이용하는대신 자신의 소스코드가 오픈되어 수많은 사람들이 보며 활용가능하고, 익명의 개발자와 함께 작업할수있도록 하여 프로그래밍을 더욱 확산시켜주는 환경으로 자리하고있다.

반면 GitLab(깃랩)은 수많은 기업에서 보안성을 중시하는 프로그램 코드를 올려 함께 협업하는 툴로 애용하므로, 사용자가 기업들이 되며, 자신의 서버에 설치하여 서버내 프라이빗한 Git 원격 저장소를 만들수있는 서비스이다. 비슷하지만 이용자가 조금 차이가 있다. 

 

2. Git 구조

Git은 자신의 Local에 있는 소스코드를 관리할때도 사용하고, Remote하여 Gitlab이나 Github 계정에 할당된 서버 공간에 저장하며 협업하기 위해서도 사용한다.

깃에 기본을 이해하기위한 구조를 살펴보자

출저 : https://uxgjs.tistory.com/182

 

자신의 로컬에서 소스파일을 작업하는 공간을 Working Directory 또는 Loacl Repository 라고 부른다.

 

개인의 PC에 Git bash를 설치하면,

CMD 창에서 Git명령어를 사용하여 형상관리와 서버저장 등을 손쉽게 할수있다.

 

( Git bash 설치 사이트 https://git-scm.com/downloads설치 가이드 https://coding-factory.tistory.com/245 )

 

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

 

깃에 익숙치 않고 초보라면 , 

아마 깃허브에 파일을 드래그앤 드랍으로 업로드하거나,

이클립스나 인텔리제이같은 도구를 이용해 Commit , Push , Pull 등을 사용했을 것이다.

 

하지만, 이러한 IDE에 도움을 받는건 기능상 제한이 있고,

상세히 다룰 수 없기 때문에, Git Bash를 설치하여 명령어를 통한 기능사용을 하는것이 좋다.

 

3. Git Bash 명령어

위에 링크를 통해 깃을 설치했다면, Git Bash 명령어에 대해서 배워보자!

Github나 GitLab에서 신규 저장소를 만들게 되면, 이렇게 CMD에 대한 명령어를 자세히 알려주고있다.

사실 이게 초간단 사용 방법이지만, 잘 모르는분들을 위해 하나씩 설명해보겠다.

 

 

(1) Global Setup

config에 대한 설정이다.

cmd창을 열어, 

git config --list

를 쳐보자, Git에 설정에 대한 정보가 나온다. 이중에 꼭 설정해줄 내용은 사용자이름과 이메일!

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

이 설정을 삭제하고 싶다면?

git config --unset user.name
git config --unset user.email

 

(2) Create a new repository

원격 저장소에 모든것을 로컬PC에 가져오기

(만들고자하는 경로에 이동하여 실행하면, 저장소이름과 같은 폴더가 만들어짐)

git clone git@깃주소

 

(3) Push an existing folder

이미 작업한 폴더, 이미 존재하는 폴더에 파일을 원격저장소에 올리기 (가장 많이쓰는 기능)

먼저 해당 폴더에 들어가서 remote 설정을 통해 원격저장소와 연결해야 합니다.

// git 작업을 위한 소스가 존재하는 폴더로 이동
cd 워킹디렉토리 안으로 이동

//.git 파일과함께, Stage area, git 등의 구조가 만들어짐 (필수)
git init 

// 원격저장소 연결
git remote add origin git@깃레포지토리 주소
 
// 연결 설정 확인
git remote -v

// 폴더내 모든 파일 staging
git add .

// stage된 파일 commit으로 local git에 반영 (항상 커밋 메세지를 잘 써주세요) 
git commit -m "Initial commit"

// 연결된 원격저장소에 올리기
git push -u origin master