Post

Git 설치 및 사용법

Git은 다양한 분야에서 널리 활용되는 도구입니다. 오픈소스 프로젝트의 소스 코드 관리부터 기업의 내부 프로젝트 관리까지, 많은 사람들이 Git을 사용하고 있죠. 특히, 개발자들에게는 없어서는 안 될 필수 도구로 자리 잡았습니다. 웹 호스팅 서비스인 GitHub, GitLab, Bitbucket 등을 통해 개발자들이 손쉽게 협업하고 코드의 변경 사항을 추적할 수 있기 때문입니다.

오늘은 Git의 설치 및 간단한 사용 방법에 대해서 알아보겠습니다.

Git 이란?

Git은 분산 버전 관리 시스템으로서, 개발자들이 소프트웨어 프로젝트를 협업하고 관리할 수 있게 도와주는 도구입니다. Git을 사용하면 여러 개발자가 동시에 작업하면서 발생하는 충돌 없이 효율적으로 협업할 수 있습니다.

주요 기능으로는 아래와 같은 것들이 있습니다:

  • 버전 관리: Git을 사용하면 각 변경사항을 개별적으로 추적하며, 이전 버전으로 되돌릴 수도 있습니다.
  • 분산형 저장소: Git은 로컬 저장소와 원격저장소를 구분합니다. 로컬 저장소는 개발자의 컴퓨터에 위치하며, 원격저장소는 서버에 위치합니다. 이렇게 함으로써, 로컬 저장소에서 작업한 후 - 원격저장소에 푸시하는 방식으로 협업이 가능합니다.
  • 충돌 해결: 여러 개발자가 동시에 동일한 파일을 수정하는 경우 충돌이 발생할 수 있습니다. Git은 이러한 충돌을 자동으로 감지하고, 개발자가 직접 충돌을 해결할 수 있도록 도와줍니다.
  • 브랜치 및 병합: Git에서는 쉽게 브랜치를 생성하고 병합할 수 있습니다. 이를 통해 실험적인 작업을 별도의 브랜치에서 수행하고, 작업이 완료되면 메인 브랜치에 병합할 수 있습니다.
  • 스테이징 영역: Git에서는 변경사항을 스테이지하여 commit할 수 있습니다. 이는 각 변경사항에 대한 자세한 기록을 가능하게 합니다.

이러한 기능들은 Git이 강력한 협업 도구로 인식되게 만드는 주요 요인입니다.

Git 설치하기

Windows

  1. 웹 브라우저를 열고 Git 홈페이지로 이동합니다.
  2. 페이지 중앙에 위치한 “Downloads” 버튼을 클릭합니다.
  3. 최신 버전의 Git for Windows를 다운로드합니다.
  4. 다운로드된 설치 프로그램을 실행하고, 기본 설정을 유지하며 설치를 진행합니다.
  5. 설치가 완료되면 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

참조

This post is licensed under CC BY 4.0 by the author.