ㅇ 깃(Git) 이란?

Git은 분산식 버전 관리 시스템(DVCS)으로 작성한 코드를 여러개의 서버나 여러명의 개인 컴퓨터로 저장될 수 있다. 깃의 장점은 작성한 코드를 여러 버전으로 저장소에 분리해서 관리할 수 있다는 것이다. 즉, 소스코드의 유연성을 가질 수 있다.
Git 이용 방법으로는 git을 사용하는 데스크탑 어플들(GitHub Desktop, Source Tree, git Kraken 등)을 사용하거나 터미널(cmd, bash, cmder 등)을 통해 명령어를 입력해 사용할 수도 있다. 어플리케이션을 사용하면 눈으로 보기엔 깔끔해 보일 수 있지만 터미널로 명령어를 입력해 사용하는 것 보다 기능적인 면에서 떨어지기에 터미널을 통해 깃을 사용하는걸 추천한다.(실무에서나 큰 프로젝트 진행시에도 터미널 활용이 효율적이라함)
Git을 이용하기 위해서는 우선 git을 내 컴퓨터에 설치해야한다.
ㅇ Git 설치하기 (Windows ver)
우선 아래의 git 홈페이지에 접속한다.
Git
git-scm.com
홈페이지 메인 화면에서 Downloads페이지로 들어가서 자신의 컴퓨터 OS에 맞는 버전을 다운받으면 된다. (본인은 window를 사용하기에 window에 맞춰서 설명함)
git 설치가 완료되었다면 git에 대한 기본 설정을 해주어야한다.
ㅇ Git 설정하기
Git 설치가 완료되었다면 자신이 사용하는 터미널을 열어 아래의 명령어를 입력해 깃의 설치 확인 및 버전을 확인한다.
- git --version

git 설치를 확인 하였으면 이제 git에다가 사용자에 대한 환경 설정을 해주어야한다.
- git config --global user.name "이름" (ex, git config --global user.name "GeaBu")
- git config --global user.email "메일주소" (ex, git config --global user.email "GeaBu@gmail.com")
위와 같이 사용자 이름과 메일 주소를 설정해주면 나중에 커밋 시 커밋한 사용자의 정보가 기록되는데 그때 기록되는 정보가 방금 설정한 사용자 정보이다.
다음으로는 자신이 작업을 진행할 편집기를 설정해준다. 본인은 VS Code를 사용할 것이기에 해당 편집기를 설정했다. 이후 터미널에 code . 을 입력하면 설정한 편집기가 열릴 것이다.
- git config --global core.editor vi
- code .
모든 설정을 완료하면 아래의 명령어를 통해 자신이한 설정을 확인할 수 있다.
- git config --list
설정을 마친 후 자신이 진행할 프로젝트 폴더를 하나 만들고 cd 명령어를 통해 터미널에서 해당 폴더의 위치로 이동한 다음 아래의 명령어를 입력해 해당 폴더가 git 프로젝트 폴더임을 설정한다. 해당 과정이 있어야만 앞으로 git 명령어들을 통해 원격 저장소(github 등)와도 데이터를 주고받을 수 있다.
- git init
ㅇ Git의 workflow
Git은 크게 지역 저장소(local)와 원격 저장소(remote)로 나뉜다. 지역 저장소(local)는 다시 크게 3가지의 저장 공간으로 나뉘어진다.
- working directory
- staging area
- .git directory
첫 번째 working directory는 사용자가 작업하는 프로젝트 폴더 자체를 의미한다. 즉, 사용자가 프로젝트를 진행하면서 작업되는 파일들은 모두 가장 처음으로 이곳에 저장된다.(그냥 자신의 프로젝트 폴더임) working directory에 있는 파일들은 내부적으로 untracked와 tracked로 나누어지며 또 tracked는 modified와 unmodified로 나누어진다. untracked와 tracked는 .git directory가 해당 파일을 tracking을 하고 있는지 아닌지 여부에 따라서 나누어지며 만일 tracking하고 있는 파일중에서 해당 파일의 수정 유무에 따라서 modified와 unmodified로 나누어진다.
두 번째 staging area는 사용자가 working directory에서 작업한 파일들을 .git directory로 보내기전에 임시로 보관해두는 임시 버퍼 공간이라 보면된다. git add 명령어를 통해 working directory에서 작업을 완료한 파일을 staging area에 보관해둘 수 있다.
- git add (git add * , git add *.txt 등 다양한 옵션값 사용가능)
세 번째 .git directory는 사용자가 작업을 완료한 파일들을 버전별로 관리하는 공간이다. staging area에 있는 파일들을 git commit 명령어를 통해 .git directory로 옮길 수 있으며 해당 파일들을 묶어서 하나의 새로운 버전으로 기록된다. 커밋한 기록은 git log 명령어를 통해 확인할 수 있다. 이후 git push 명령어를 통해 커밋한 기록들을 원격 저장소(remote)로 push할 수 있다.
- git commit (터미널에서 커밋 내용을 따로 입력후 저장후에 커밋함)
- git commit -m "커밋메시지" (커밋 메시지 입력과 커밋을 한번에 함)
- git log
- git push (지역 저장소의 내용을 원격 저장소로 전송)
추가로 git add를 통해 staging area에 있는 파일 및 수정된 파일들을 같이 현재 내 지역 저장소(local)의 상태를 알고싶다면 아래의 명령어를 통해 상태를 확인할 수 있다.
- git status
ㅇ Git 명령어
Git의 명령어는 위에서 언급한 명령어들 외에도 수많은 명령어가 존재한다. 해당 포스트에서 모든 명령어를 다루긴 어려우므로 명령어 입력에 대해서만 설명하겠다.
예를들어 git config --global 이라는 명령어를 입력한다 했을 때 이를 나누어서 보면
"git"은 git 명령어라는 것을 알리는 것이며 그 뒤에오는
"config"가 명령어가 되는것이다. 이후 뒤에 오는
"--global"은 각 명령어마다 가지고 있는 옵션 값을 의미한다.
따라서 각 명령어에 어떤 옵션값이 들어가고 해당 옵션값이 어떤 역할을 하는지 알면 터미널을 통해 깃을 사용하기가 수월할 것이다. 명령어와 옵션값에 대한 설명은 공식 사이트를 통해 확인 하는것이 가장 정확하다.
Git - Reference
Reference
git-scm.com
위 사이트에서 원하는 명령어 선택후 해당 명령어가 가지는 옵션값을 함께 보면 도움이 될 것이다.
이번 글에서는 Git에 대한 간략한 설명만 적어 놓았다. 아직 부족한 부분이 많기에 다음 글을 작성하면서 해당 포스트도 수정해 나갈것이다.
다음 글에선 git 과 github를 활용하는 방법을 알아볼 것이다.
'Git & Github' 카테고리의 다른 글
| Git & GitHub 사용법 (0) | 2022.01.06 |
|---|