Git Global Configuration
기초설정!
- Global User name & Email
- 말 그대로 유저의 이름과, 이메일 등록하는 과정
git config --global user.name <username>
git config --global user.email <email>
Line ending
줄바꿈을 하거나 엔터를 하거나 하면 우리 눈에는 안보이지만 줄바꿈 문자가 들어감, 그러나 윈도우와 맥이 CRLF 차이로 인해 문제가 생길 수 있음, 따라서 윈도우 유저들은 변경해줘야함
- Windows : CR(\r) + LF(\n)
- Unix or Mac : LF(\n)
- windows 사용자와 Mac 사용자가 같은 Git Repository를 작업할 때 코드에서 변경된 내용이 없어도 CRLF차이로 인해 commit이 발생할 수 있음
CRLF - Windows
- Windows - 가져올 때는 LF를 CRLF로 변경하고 보낼 때는 CRLF를 LF로 변경
git config --global core.autocrlf true
- 근데 Git 설치과정에서 이미 true로 체크 되어있지롱...............
Editor
- 에디터 설정
git config --global core.editor <editor>
전체 설정 확인
git config --list
Git 기본용어
- Repository
- 소스코드가 저장되어 있는 여러 개의 Branch가 모여있는 디스크상의 물리적 공간
- Local Repository와 Remote Repository로 구분
- Checkout
- 특정 시점이나 Branch의 소스코드로 이동하는 것을 의미
- Checkout 대상 - Branch, Commit, Tag
- Checkout을 통해 과거 여러 시점의 코드로 이동이 가능
- Stage
- 작업할 내용이 올라가는 임시저장영역
- 이 영역을 이용하여 작업한 내용중 commit에 반영할 파일만 선별하여 commit을 수행 가능
Git에 올라가는 과정
눈에 보이는건 working directory, 파일을 선정해서 깃에서 관리하게 등록을 하면 Stage에 들어감, 수정을해서 버전을 매기게 되면 head영역에 들어감!
- Commit
- 버전관리역할
- 작업할 내용을 Local Repository에 저장하는 과정
- 각각의 commit은 의미있는 변경단위, 설명을 commit log로 남김
- save point라고 생각하면 오께이
- commit 단위나 commit log format을 정해놓기도 함
- Tag
- 임의의 commit 위치에 쉽게 찾아갈 수 있도록 붙여놓은 이정표
- Tag가 붙은 commit은 commit id(version)대신 tag name으로 쉽게 checkout가능
- 의미있는 버전에 붙여놓아서 언제든 확인 가능하게 하는 역할
- Push
- Local Repository의 내용 중 Remote Repository에 반영되지 않은 commit을 Remote Repository로 보내는 과정
- Push하는 순간 다른 개발자들도 영향을 받기때문에 검증되지 않은 코드는 Push X
- Pull
- Remote Repository에 있는 내용 중, Local Repository에 반영되지 않은 내용을 가져와 Local Repository에 저장하는 과정
- 다른 팀원이 변경하고 Push한 내용을 Local Repository에 가져올 수 있음
- Push 과정에서 conflict가 일어나서 Push가 거절된 경우 Pull을 통해 Remote Repository의 변경 내용을 Local Repository에 반영하여 Conflict를 해결한 후 다시 Push해야함
- Branch
- 특정시점(commit 단위)에서 분기하여 새로운 commit을 쌓을 수 있는 가지를 만드는 것
- 개발의 주축이 되는 branch를 master branch(혹은 main branch)라고 함
- 모든 branch는 최종적으로 다시 master branch에 merger되는 형식으로 진행 됨
- Merge
- Branch의 반대개념으로 하나의 Branch를 다른 Branch와 합치는 과정
- Merge되는 두 Branch는 주종관계가 성립. ex) dev branch를 main branch에 merge
- Merge되는 과정에서 충돌이 발생하면 Diff를 수정하여 Conflict를 해결한 뒤 Merge를 진행할 수 있음
2022.01.03 - [컴쀼따/Git] - Git1 (Git 이란?)
반응형
'💻 > Git' 카테고리의 다른 글
Git6 (Git Graph, Git Log) (0) | 2022.01.05 |
---|---|
Git5 (Branch) (0) | 2022.01.05 |
Git4 ( Remote Repository 복제, 클론!) (0) | 2022.01.05 |
Git3 (Local Repository, Remote Repository) (0) | 2022.01.05 |
Git1 (Git 이란?) (0) | 2022.01.03 |