Skip to content
TUWLAB.com
모든 게시물에 대하여 '링크'
방식의 퍼가기만 허용합니다.
한양대학교 전자통신컴퓨터공학부
바라미
  • 653
  • 2573317
DNS Powered by DNSEver.com
일반

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

Posted 2014. 10. 23 Updated 2019. 01. 30 Views 12821 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
번호 분류 제목 글쓴이 최근 수정일 조회 수
43 일반 GitLab 코드리뷰 페이지 탭 크기(Tab Size) 4칸으로 바꾸기 file TUW 2021.12.28 3875
42 일반 Linux에서 Code Composer Studio (CCS) - Ti ARM 개발환경 구축하기 file TUW 2017.06.02 4626
41 일반 [GIT] Submodule (Nested Repository) 사용하기 file TUW 2020.08.28 10922
40 일반 정규식(Regular Expression)에 대한 소개와 입문, 튜토리얼 1 file TUW 2017.12.11 36240
39 일반 [C++] Template Class의 정의(Definition)와 구현(Implementation)은 한 파일 안에 있어야 한다. TUW 2015.11.26 10327
38 일반 [GIT] Patch 만들기 및 적용하기: format-patch, am TUW 2015.01.10 40842
37 일반 [GIT] 실행취소와 Commit 삭제: reflog, reset, checkout, revert TUW 2019.04.28 64546
36 일반 [GIT] 임시 저장소 사용하기: stash TUW 2015.11.27 4772
35 일반 [GIT] 병합하고 Commit 재정렬하기: cherry-pick, rebase, merge file TUW 2017.06.02 32187
34 일반 [GIT] Branch 관리하기: branch, checkout, push, pull 2 TUW 2018.02.03 48376
33 일반 [GIT] Commit하고 원격 저장소로 내보내기: add, reset, commit, push TUW 2018.01.18 27460
32 일반 [GIT] 로컬 저장소 정보 조회하기: status, show, log, diff, blame file TUW 2017.06.02 7179
» 일반 [GIT] 기본 환경 설정 및 작업 시작하기: config, clone, init, pull, fetch, remote TUW 2019.01.30 12821
30 일반 [GIT] GIT이란 무엇인가, GIT에 대하여 file TUW 2017.06.02 27704
29 일반 AutoCAD 자주 사용하는 명령어 요약 정리 TUW 2014.04.24 25458
28 일반 MediaWiki 기본 문법 TUW 2014.04.23 15615
목록
Board Pagination Prev 1 2 3 4 Next
/ 4

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5