개요
Git 이란 버전 관리 시스템 ( VCS- Version control system ) 중 하나입니다.
예전에 많이 사용했던 VCS중 하나인 SVN(Subversion) 은 중앙집중식으로 대부분의 기능이 완성된 상태로 COMMIT을 하게 되지만 Git은 분산형 버전 관리를 지향하며 각 개발자 별로 자신만의 commit history 를 가지고 개발자의 Repository와 서버의 Repository를 독립적으로 운영하는 것이 가능 합니다.
각 개발자 별 commit history가 존재하기 때문에 한 개발자의 수정내역이 서버와 다른 개발자에게 영향을 미치지 않으며, 통합 관리자가 원하는 시점에 유연하게 원하는 개발자의 commit history를 가져와 운영할 수 있는 유연성이 장점 입니다.
Git을 이용하면 다양한 방법으로 버전관리를 할 수 있기 때문에 여러 오픈소스 프로젝트 등에서도 많이 사용됩니다.
그럼 기본적으로 간단하게 깃 설치와 기본 세팅 방법에 대해 간단하게 알아보겠습니다.
GUI tool을 이용하지 않고 OS에 관계없이 사용할 수 있는 콘솔(Console) 창을 이용하도록 하겠습니다.
Git 설치
아래 사이트에서 OS 에 맞는 설치 파일을 다운로드 후 설치해 주세요
* MacOS (OS X)
맥북, MAC 등 MacOS 을 사용 하시는 분들은 기본적으로 Apple 용 조금 낮은 버전의 Git이 이미 설치 되어 있습니다. 저는 공식 버전의 최신 버전으로 사용 하고자 오버라이드하여 재설치 했습니다
패키지관리툴인 Homebrew 목록에도 존재 하기 때문에 사용하시면 좀더 편리하게 설치 하실 수 있습니다.
$ brew install -s git
* Windows OS
윈도우즈 OS를 사용 중이신 분들은 설치 후 Git bash 프로그램을 열어서 콘솔 명령어를 사용 할 수 있습니다.
설치가 끝났으면 Console 창으로 들어가서 version 명령어를 사용하여 정상 설치 여부를 확인 해 볼수 있습니다.
$ git --version
git version 2.23.0
Git 설정 (.gitconfig)
Config file location
--global use global config file
--system use system config file
--local use repository config file
-f, --file use given config file
--blob read config from given blob object
Action
--get get value: name [value-regex]
--get-all get all values: key [value-regex]
--get-regexp get values for regexp: name-regex [value-regex]
--get-urlmatch get value specific for the URL: section[.var] URL
--replace-all replace all matching variables: name value [value_regex]
--add add a new variable: name value
--unset remove a variable: name [value-regex]
--unset-all remove all matches: name [value-regex]
--rename-section rename section: old-name new-name
--remove-section remove a section: name
-l, --list list all
-e, --edit open an editor
--get-color find the color configured: slot [default]
--get-colorbool find the color setting: slot [stdout-is-tty]
Type
-t, --type <> value is given this type
--bool value is "true" or "false"
--int value is decimal number
--bool-or-int value is --bool or --int
--path value is a path (file or directory name)
--expiry-date value is an expiry date
Other
-z, --null terminate values with NUL byte
--name-only show variable names only
--includes respect include directives on lookup
--show-origin show origin of config (file, standard input, blob, command line)
--default with --get, use default value when missing entry
사용자 정보 설정 (user.name / user.email)
여러가지 설정값들이 있지만 가장 먼저 해야할 건 사용자명(user.name)과 메일주소(user.email) 세팅입니다
해당 값은 추후 변경이력 (commit history) 등에 기록됩니다.
--global 옵션을 사용하면 해당 설정을 모든 프로젝트에 적용할 수 있습니다.
$ git config --global user.name "사용자명"
$ git config --global user.email "메일주소"
이후 --list 옵션을 통해 설정한 정보들이 정상적으로 적용 되었는지 확인해 보시기 바랍니다.
$ git config --list
core.symlinks=false
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
rebase.autosquash=true
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
credential.helper=manager
user.name=JihunPark
user.email=ongamenet87@gmail.com
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
설정값 내 특정 name만 기재 하여 해당 값만 조회 하는 것도 가능합니다.
$ git config user.name
JihunPark
$ git config user.email
ongamenet87@gmail.com
기본적인 설치와 세팅이 완료되었습니다.
다음 포스팅에서는 로컬 저장소 (local repository) 생성과 Commit 에 대해서 정리해보겠습니다.
▼▼▼▼▼
Git 저장소 생성 및 커밋 ( init / add / commit )
Reference
https://backlog.com/git-tutorial/
'Program > Git' 카테고리의 다른 글
[Git] 브랜치 삭제 하기 ( git branch ) (4) | 2021.01.29 |
---|---|
[Git] 브랜치 생성 및 목록 확인 ( git branch ) (0) | 2021.01.18 |
[Git] 원격 저장소 연결 및 끊기 ( git remote ) (3) | 2020.08.11 |
[Git] 소스트리 Access denied 오류 해결 (8) | 2020.07.25 |
Git 저장소 생성 및 커밋 ( init / add / commit ) (3) | 2019.10.19 |