Git 설치 및 사용법
Git은 다양한 분야에서 널리 활용되는 도구입니다. 오픈소스 프로젝트의 소스 코드 관리부터 기업의 내부 프로젝트 관리까지, 많은 사람들이 Git을 사용하고 있죠. 특히, 개발자들에게는 없어서는 안 될 필수 도구로 자리 잡았습니다. 웹 호스팅 서비스인 GitHub, GitLab, Bitbucket 등을 통해 개발자들이 손쉽게 협업하고 코드의 변경 사항을 추적할 수 있기 때문입니다.
오늘은 Git의 설치 및 간단한 사용 방법에 대해서 알아보겠습니다.
Git 이란?
Git은 분산 버전 관리 시스템으로서, 개발자들이 소프트웨어 프로젝트를 협업하고 관리할 수 있게 도와주는 도구입니다. Git을 사용하면 여러 개발자가 동시에 작업하면서 발생하는 충돌 없이 효율적으로 협업할 수 있습니다.
주요 기능으로는 아래와 같은 것들이 있습니다:
- 버전 관리: Git을 사용하면 각 변경사항을 개별적으로 추적하며, 이전 버전으로 되돌릴 수도 있습니다.
- 분산형 저장소: Git은 로컬 저장소와 원격저장소를 구분합니다. 로컬 저장소는 개발자의 컴퓨터에 위치하며, 원격저장소는 서버에 위치합니다. 이렇게 함으로써, 로컬 저장소에서 작업한 후 - 원격저장소에 푸시하는 방식으로 협업이 가능합니다.
- 충돌 해결: 여러 개발자가 동시에 동일한 파일을 수정하는 경우 충돌이 발생할 수 있습니다. Git은 이러한 충돌을 자동으로 감지하고, 개발자가 직접 충돌을 해결할 수 있도록 도와줍니다.
- 브랜치 및 병합: Git에서는 쉽게 브랜치를 생성하고 병합할 수 있습니다. 이를 통해 실험적인 작업을 별도의 브랜치에서 수행하고, 작업이 완료되면 메인 브랜치에 병합할 수 있습니다.
- 스테이징 영역: Git에서는 변경사항을 스테이지하여 commit할 수 있습니다. 이는 각 변경사항에 대한 자세한 기록을 가능하게 합니다.
이러한 기능들은 Git이 강력한 협업 도구로 인식되게 만드는 주요 요인입니다.
Git 설치하기
Windows
- 웹 브라우저를 열고 Git 홈페이지로 이동합니다.
- 페이지 중앙에 위치한 “Downloads” 버튼을 클릭합니다.
- 최신 버전의 Git for Windows를 다운로드합니다.
- 다운로드된 설치 프로그램을 실행하고, 기본 설정을 유지하며 설치를 진행합니다.
- 설치가 완료되면 Git Bash나 Git CMD 등의 터미널을 열어 사용할 수 있습니다.
Mac
Mac
에서 git을 설치하는 방법은 다양하게 존재하지만 대표적으로 2가지 방법이 가장 많이 사용되는 것 같습니다.
첫 번째는 Xcode 설치를 통해서 Xcode에 포함된 Git을 사용하는 방법입니다. Xcode는 Appstore
에서 설치하거나, Apple 개발자 홈페이지 - Xcode 사이트에서 다운로드 할 수 있습니다.
두번째는 Homebrew
를 이용한 설치입니다. 기존에 Homebrew
를 설치한 사용자는 아래의 간단한 명령으로 설치가 가능합니다.
1
$ brew install git
Homebrew
에 대한 설치 방법 및 사용법은 Homebrew 사용법에서 확인해주세요.
Linux
리눅스에서 Git을 설치하는 가장 쉬운 방법은 각 배포판의 패키지 관리자를 이용하는 것입니다. 가장 많이 사용되는 Debian 기반 배포판에서 Git을 설치하는 방법은 아래와 같습니다.
1
2
$ sudo apt update
$ sudo apt install git
Git 설정하기
Git을 설치한 후에는 Git을 사용하기 위한 설정을 진행해야 합니다. Git을 처음 사용하는 사용자는 아래의 명령어를 통해 Git을 설정할 수 있습니다.
사용자 정보 저장하기
commit 시에 사용자 정보를 입력하기 위해서 사용자 이름과 이메일을 저장해야 합니다.
1
2
$ git config --global user.name "Your Name"
$ git config --global user.email "your@email.com"
기본 텍스트 에디터 저장하기 (Optional)
Git의 기본 편집기는 시스템에서 기본으로 설정된 텍스트 에디터를 사용합니다. 만약 기본 편집기를 변경하고 싶다면 아래의 명령어를 통해 변경할 수 있습니다.
1
$ git config --global core.editor vi
Proxy 서버 설정하기 (Optional)
회사나 학교 등 특정 네트워크 환경에서 인터넷 통신을 하기 위해서 프록시 서버를 사용하는 경우 해당 프록시 서버를 등록해 줘야합니다.
1
2
$ git config --global http.proxy http://123.123.123.123:8080
$ git config --global https.proxy https://111.111.111.111:8080
사용자 인증서 설정하기 (Optional)
Git을 사용하다 보면 인증서를 설정해야 하는 경우가 있습니다. 인증서를 설정하는 방법은 아래와 같습니다.
1
$ git config --system http.sslcainfo /user/cert/path
Git 사용법
새로운 Git Project 생성하기
먼저 사용자의 프로젝트 git을 생성합니다.
1
2
3
$ mkdir project_name # 프로젝트 폴더 생성
$ cd project_name # 프로젝트 폴더로 이동
$ git init # git 프로젝트 생성
수정사항을 Stage 영역에 적용하기
여러 개의 파일에서 일부 변경이 발생했을 때, 모든 변경사항을 한꺼번에 적용할 필요는 없을 수 있습니다. 그래서 Git에서는 변경할 파일 또는 변경될 내용을 stage
라는 임시 저장소에 올려두고, commit
을 통해 변경사항을 반영합니다.
Git에서 stage에 추가하는 방법은 크게 세 가지가 있습니다.
1
2
3
4
5
6
7
8
# 특정 파일만 stage에 추가할 때 사용합니다.
$ git add file_name
# 현재 디렉토리의 모든 변경사항을 stage에 추가할 때 사용합니다.
$ git add .
# 현재 디렉토리의 모든 변경사항과 삭제된 파일을 stage에 추가할 때 사용합니다.
$ git add -A
Git에서 stage에서 삭제하는 방법 역시 세 가지가 있습니다.
1
2
3
4
5
6
7
8
# 특정 파일만 stage에서 삭제할 때 사용합니다.
$ git reset file_name
# 현재 디렉토리의 모든 파일을 stage에서 삭제할 때 사용합니다.
$ git reset .
# 현재 디렉토리의 모든 변경사항과 삭제된 파일을 stage에서 삭제할 때 사용합니다.
$ git reset
수정 사항을 commit 하기
이제 stage
영역에 있는 파일들을 commit
을 통해 반영할 수 있습니다. git commit
명령어를 실행하면 에디터가 열리고, commit 메시지를 작성할 수 있습니다.
1
$ git commit
에디터를 사용하지 않고 바로 commit 메시지를 작성하고 싶다면, -m 옵션을 사용하여 commit 메시지를 추가할 수 있습니다.
1
$ git commit -m "설명 메시지"
그리고, 이전에 stage에 추가된 변경사항이 없다면, -a 옵션을 사용하여 모든 변경사항을 한 번에 stage에 추가하고 commit할 수 있습니다.
1
$ git commit -a -m "설명 메시지"
commit을 취소하고 싶을 때는 git reset HEAD^
명령어를 사용할 수 있습니다. 이 명령어는 마지막 commit을 취소하고, 변경사항을 다시 stage
에 추가합니다.
1
$ git reset HEAD^
commit 내용 취소하기
Git에서 commit 내용을 취소하는 방법은 크게 두 가지가 있습니다.
첫째, git reset 명령어를 사용하는 방법입니다. 이 방법은 현재 branch의 head를 지정한 commit으로 옮기는 방법으로, 이후의 모든 commit 내용이 취소됩니다.
$ git reset --hard
둘째, git revert 명령어를 사용하는 방법입니다. 이 방법은 지정한 commit을 역순으로 적용하는 새로운 commit을 생성하여, 이전의 commit 내용을 취소합니다.
$ git revert
두 방법 모두, commit 내용을 완전히 취소하는 것이기 때문에 주의해야 합니다. 특히, git reset 명령어는 branch의 head를 옮기는 것이기 때문에, 다른 사람과 협업하는 경우 더욱 조심해야 합니다.
Git에서 브랜치는 독립적으로 작업을 진행할 수 있는 공간입니다. 하나의 큰 작업을 여러 개의 작은 작업으로 나누어 각각 다른 브랜치에서 진행한 뒤, 작업이 끝나면 이를 합칠 수 있습니다.
branch 활용하기
Git에서 브랜치는 독립적으로 작업을 진행할 수 있는 공간입니다. 하나의 큰 작업을 여러 개의 작은 작업으로 나누어 각각 다른 브랜치에서 진행한 뒤, 작업이 끝나면 이를 합칠 수 있습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 브랜치를 생성
$ git branch branch_name
# 브랜치를 이동
$ git checkout branch_name
# 새로운 브랜치를 생성하고 이동하는 방법은 다음과 같습니다.
$ git checkout -b branch_name
# 브랜치 목록을 확인
$ git branch
# 브랜치를 병합
$ git merge target_branch
# merge conflict 해결
$ git mergetool
# 불필요한 브랜치를 삭제
$ git branch -D branch_name
원격저장소 사용하기
원격저장소를 사용하기 위해서는 원격저장소를 현재 git project에 등록해야 합니다.
1
2
3
4
5
6
7
8
9
# 원격저장소 추가
$ git remote add origin http://remote-storage-url.git
# 원격저장소 삭제
$ git remote remove origin
# 원격저장소 확인
$ git remote -v
$ git remote
원격저장소를 등록하게 되면 원격저장소에 commit을 올리거나 받을 수 있습니다.
1
2
3
4
5
# 원격저장소에 commit 올리기
$ git push
# 원격저장소에 commit 가져오기
$ git pull