-
Notifications
You must be signed in to change notification settings - Fork 0
Git & GitHub 기본 마스터편
YoungMinKim edited this page Jul 17, 2021
·
4 revisions
- 분산 버전 관리 시스템
- SVN과 달리 Local Repository가 존재하여 중앙 서버 문제시 복구 가능
- 오픈 소스
- 무료
- 현업에서 가장 많이 사용이 되며 버전 관리에 높은 효율
- 가볍고 빠르다
- 🔗 Link : 깃, 깃허브 제대로 배우기
- 🛠 Tool : Terminal(Iterm2), Source-Tree, Mac
- 👉 Goal : Command Line 명령어 위주 학습
깃 기본 셋팅
> git config --list
> git config --global -e
> git config --global user.name "youngminkim"
> git config --global user.email "[email protected]"
> git config --global core.autocrlf true -- Window
> git config --global core.autocrlf input -- Mac
운영체제마다 에디터에서 새로운 줄바꿈을 할 때마다 들어가는 문자열이 달라짐
-
Window :
text \r\n
-
Mac :
text\n
Git Repository를 다양한 운영체제에서 사용을 할 경우 내가 수정하지 않았지만,
줄바꿈 문자열이 달라져 Git history
나 blame
보는데 문제 발생 가능.
깃에 관련된 전체적인 명령어에 대하여 이해 한다. 터미널을 통해 깃 명령어 숙지
> git 명령어 -옵션
root > projects > git
// 디렉토리 생성
> mkdir git
// 깃 저장소 초기화
> cd git
> git init
> ls -al
total 0
drwxr-xr-x 3 youngminkim staff 96 7 2 11:13 .
drwxr-xr-x 3 youngminkim staff 96 7 2 11:13 ..
drwxr-xr-x 9 youngminkim staff 288 7 2 11:13 .git
> rm -rf .git // 제거
- .git 파일은 깃 관련 파일 내용이 저장되어 있음
- git init 명령어 사용 시 기본적으로
master branch
사용
> git config --global alias.st status // 별칭 설정
> git config --h // 명령어 확인
Working directory -> staging area -> .git directory
- 프로젝트 파일을 작업하는
working directory
- 어느 정도 작업 후 버전 히스토리에 저장할 준비가 되어있는 파일들을 옮겨 놓는
staging area
- 버전의 히스토리를 가지고 있는
.git directory
Working Directory
- untracked / tracked로 구분
- 그 안에서 unmodified / modified로 구분
- 이전 버전과 비교하여 수정 되지 않았기에 modified된 파일만 staging area로 옮겨갈 수 있다
- 작업 -> 스테이징 서버 ->commit -> .git directory
- check out 명령어를 통해 언제든지 복원이 가능함
- 로컬 pc에만 저장해두는 것이 아닌, remote 서버에 저장 (
push, pull
) - 각각의 커밋에는 스냅샷된 정보를 기반으로 하여 고유한 HashCode가 부여됨
> echo hello world! > a.txt
> open .
> git add a.txt
> git status
> git rm --cached *
> echo *.log > .gitignore
> open .gitignore
> git status -s // staging 상태 확인 가능
정확하게 어떤 파일이 수정 되었는지 확인 할 수 있다 diff 명령어는 좀 더 자세히 알아볼 필요가 있을 듯
> git diff
// git command를 이용하여 이전 버전 'a' 와 지금 버전인 b를 비교
diff --git a/b.txt b/b.txt
deleted file mode 100644
index a042389..0000000
--- a/b.txt
+++ /dev/null
@@ -1 +0,0 @@
-hello world!
(END)
commit 명령어를 통해 git repo에 올린다
> git add . // load on staging server
> git commit -m "first commit for git" // staging server file commit
> git commit -am "second commit for git" // working dr, staging server commit
- 버전별로 관리할 수 있는 유용한 창고
- 히스토리를 관리할 수 있음
- 의미있는 이름을 통해 기능 단위 / 작업 단위로 나누어 커밋을 수행
- 버전별로 관리를 하기에, 위 같이 커밋을 수행
- (중요) 커밋을 할 때 고친 내용이 있을 경우 고친 내용만 올린다
- 그렇다고 너무 작은 단위로 나누는것은 좋지 않음