Skip to content
TUWLAB.com
일반

[GIT] 기본 환경 설정 및 작업 시작하기: config, clone, init, pull, fetch, remote

Posted 2014. 10. 23 Updated 2019. 01. 30 Views 5971 Replies 0

이번 글에서는 GIT을 처음 설치하고 작업을 시작하기 전에 해야 하는 기본 설정과, 원격 저장소에서 로컬 저장소로 복제 하는 법, 새로운 저장소를 만들고 시작하는 방법을 다루도록 하겠습니다.

 

기본 환경설정하기

 

Commiter 정보 입력하기

Commiter의 이름과 이메일 주소를 입력합니다. 여기에 입력한 정보는 Commit을 할 때마다 로그에 함께 기록됩니다.

git config --global user.name "Your Name"
git config --global user.email "Your E-mail Address"

--global 옵션을 지정하지 않으면 현재 로컬 저장소에 대해서만 Commiter 정보를 적용합니다.

 

에디터 지정하기

Commit log를 작성하거나, Rebase 등의 작업을 할 때 사용할 Editer를 지정합니다. vim을 사용하는 편이 가장 무난합니다. GUI 기반의 에디터를 지정할 경우, SSH 등으로 접속해서 원격에서 작업하는 경우 사용할 수 없습니다.

git config --global core.editor vim

 

색상 강조 사용하기

Commit log 등을 볼 때, 색상을 사용하여 강조 표시해 줍니다.

git config --global color.ui true

 

Diff 화면 탭 크기 지정하기

Diff 화면(git diff)에서 표시되는 탭(Tab) 문자의 크기를 4로 지정합니다.

git config --global core.pager 'less -x4'

 

AutCRLF 설정하기

서로 다른 OS를 오가며 작업을 하는 경우, OS마다 line ending이 다르기 때문에 쓸데없는 변경사항이 Commit에 반영되거나 Clone시 문제가 발생할 수 있습니다. 이를 방지하기 위해 AutoCRLF를 설정하도록 합니다.

git config --global core.autocrlf <설정값>

<설정값>은 Git이 구동되는 OS 및 개발 환경에 따라 다음과 같이 서로 다르게 지정합니다.

  • Windows 환경: true (Commit시 CRLF를 LF로 변환 + Clone시 LF를 CRLF로 변환)
  • Linux 환경: input (Commit시 CRLF를 LF로 변환)
  • Windows 전용 프로젝트: false (아무런 변환도 수행하지 않음)

WSL(Windows Subsystem for Linux) 환경인 경우 'input'으로 지정해야 합니다.

 

환경 설정 확인하기

전역 환경설정을 확인하려면 --list 옵션을 붙이거나, user.name과 같은 변수명을 명시하면 됩니다.

git config --global --list
git config --global user.name

 

원격 저장소와 연동하기

 

원격 저장소 복제해오기 - clone

원격 저장소를 로컬로 복제해서 로컬 저장소를 생성합니다. 이 때, 원격 저장소에 여러 개의 Branch가 있는 경우 master branch만 복제해 옵니다.

git clone {저장소 주소}

 

원격 저장소의 변경사항을 로컬 저장소로 가져오기 - pull, fetch

Pull 명령을 사용하면, 원격 저장소의 변경사항 중 로컬 저장소에 반영되지 않은 내용을 가져와서 현재 Branch에 병합합니다.

아무 옵션을 주지 않으면, 원격 저장소의 master branch를 가져옵니다.

git pull

다음과 같이 원격 저장소 별칭과 branch 이름을 명시하여 Pull을 수행할 수 있습니다. 이 경우, 원격 저장소의 특정 branch 변경사항을 로컬 저장소의 현재 branch에 가져와 병합합니다.

git pull origin [Remote branch name]

Fetch 명령의 경우 원격 저장소의 변경사항을 가져오기만 하고, 현재 Branch에 병합은 수행하지 않습니다. 대개 복잡한 병합의 경우 fetch를 사용하기보다는 임시 Branch를 새로 만들어서 Pull을 수행하고, Rebase 명령을 통해 작업 branch와 병합하는 방법을 사용합니다.

 

로컬 저장소 생성하고 설정하기

대개 GIT으로 작업을 할 때는 원격 저장소를 Clone 명령을 통해 로컬 저장소로 복제한 뒤에 작업을 시작하므로 로컬에 저장소를 생성하거나 원격 저장소 주소를 임의로 입력하는 등의 명령은 거의 사용하지 않습니다.

다음 명령어들은 로컬에서 새로운 GIT 저장소를 생성하고 설정하는 명령어들입니다.

GIT은 '분산' 버전관리 시스템이기 때문에 원격 저장소의 존재는 선택사항이며, 따라서 배포가 필요 없는 개인 프로젝트의 경우 로컬에서만 GIT을 활용하여 개발을 진행할 수 있습니다.

 

로컬 저장소 생성하기

로컬에 빈 GIT 저장소를 생성하는 명령입니다. 이 명령을 입력하면 현재 디렉토리에 .git 디렉토리가 생성되고, 기본 환경설정이 저장됩니다.

git init

 

원격 저장소 주소 추가하기

init 명령어를 통해 생성한 로컬 저장소에는 원격 저장소에 대한 정보가 없으므로 Push나 Pull과 같은 명령을 사용할 수 없습니다. 다음 명령을 통해 원격 저장소의 주소 정보를 입력하면 원격 저장소와 연동이 가능합니다.

git remote add {원격 저장소 별칭} {원격 저장소 주소}

사용 예시는 다음과 같습니다. 'git@git.tuwlab.com:batto.git'의 주소를 갖는 원격 저장소를 'origin'이라는 별칭으로 등록합니다.

git remote add origin git@git.tuwlab.com:batto.git

 

원격 저장소 주소 수정하기

이미 등록된 원격 저장소 별칭에 저장된 원격 저장소 주소를 수정하기 위해서는 다음 명령어를 사용합니다.

git remote set-url {원격 저장소 별칭} {변경할 원격 저장소 주소}

사용 예시는 다음과 같습니다. 'origin'이라는 별칭을 갖는 이미 등록된 원격 저장소의 주소를 'git@git.tuwlab.com:batto.git'으로 변경합니다.

git remote set-url origin git@git.tuwlab.com:batto.git

 

등록된 원격 저장소 목록 확인하기

등록된 모든 원격 저장소의 별칭과 주소를 확인할 수 있습니다.

git remote -v

 

TAG •
서비스 선택
이용중인 SNS 버튼을 클릭하여 로그인 해주세요.
SNS 계정을 통해 로그인하면 회원가입 없이 댓글을 남길 수 있습니다.
댓글
?
Powered by SocialXE

List of Articles
번호 분류 제목 글쓴이 최근 수정일 조회 수
177 일반 [GIT] 로컬 저장소 정보 조회하기: status, show, log, diff, blame file TUW 2017.06.02 4092
176 Linux [VirtualBox] Windows 7 물리 디스크 부팅 (Raw Disk Booting or Native Booting) - 배경 file TUW 2017.06.02 4119
175 일반 [GIT] 임시 저장소 사용하기: stash TUW 2015.11.27 4162
174 Linux [Ubuntu] 원격 Shell에서 로그인 사용자 디스플레이에 GUI 프로그램 실행하기 TUW 2016.03.06 4369
173 Nginx Nginx에서 자동 Redirection(301 Permanently moved) 설정하기 TUW 2016.06.25 4826
172 Linux TCPDump를 활용하여 패킷 모니터링하기 TUW 2020.04.13 4995
171 Nginx Nginx에서 SSL(HTTPS) 보안 서버 설정하기 (+약간의 이론) TUW 2016.06.25 5053
170 Python [Django Tutorial] 2. 개발 환경 세팅하기 - pyenv 및 virtualenv 활용 TUW 2017.02.26 5336
169 일반 [AutoHotkey] 소개와 설치 및 기본 설정 - GUI 예시, 기본 에디터 변경 file TUW 2018.11.11 5353
168 일반 [WSL] Windows Subsystem for Linux - SSH 서버 자동 시작 설정하기 file TUW 2018.11.06 5475
167 Security SSL Handshake 과정 TUW 2016.06.21 5619
166 Security [SSL/HTTPS] StartSSL/StartCom 사태와 Let's Encrypt로의 이전 1 file TUW 2018.05.02 5648
165 AVR [전자동 커튼] 2차 설치, 또 다시 발견된 문제점 file TUW 2017.06.02 5815
» 일반 [GIT] 기본 환경 설정 및 작업 시작하기: config, clone, init, pull, fetch, remote TUW 2019.01.30 5971
163 AVR [전자동 커튼] 제어보드 펌웨어 핵심구문 TUW 2014.04.20 5975
162 Python [Django Tutorial] 5. Static 파일 사용하고 관리하기 file TUW 2017.06.16 5982
목록
Board Pagination Prev 1 2 3 4 5 6 7 ... 13 Next
/ 13

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5