Study/Git

[Git]Git 기본(추가 작성 중)

seomj 2021. 8. 18. 22:59

참고하기 좋은 문서

https://git-scm.com/book/en/v2


Git 설정

git config --global -e

- gitconfig 파일을 에디터로 오픈

 

git config --global core.editor "code --wait"

- gitconfig 파일을 에디터로 오픈한 뒤 터미널이 기다리도록 설정

 

git config --global user.name "seomj"

- 이름 설정

 

git config --global user.email "이메일 주소"

- 이메일 설정

 

git config --global core.autocrlf true

- core.autocrlf를 window에서 true로 설정: \r(carriage-return)을 처리해줌

 

git init

- git 초기화

기본적으로 master  branche가 생성됨

 

git config --global alias.st status

- status 대신 st로 대체 가능

 

git config --h

- 명령어 config 속성값 확인

 

 

Git 기본

git status

- 현재 파일의 상태들을 확인할 수 있음

 

git add <file>

- working directory에서 untracked된 파일들을 tracking 함

-> working directory에서 staging area로 파일 이동

 

git rm --cachced <file>

- staging area에서 제거

- 파일이 working directory의 untracked된 상태로 돌아옴

 

echo <file> > .gitignore

- tracking 하고 싶지 않은 파일을 gitignore에 추가

 

git diff

- working directory에 있는 파일중에 정확히 어떤 파일의 내용이 수정이 되었는지 확인

- Unstaged 된 파일을 비교

 

git diff --staged

git diff --cached

- staging area에 있는 파일을 비교

 

git commit

- .git directory로 파일 이동

 

git commit -m 

- 메시지를 첨부

 

git commit -a

- working directory와 staging area에 있는 모든 파일들을 commit

 

git log

- log 확인

 

 

 

https://youtu.be/Z9dvM7qgN9s

 


과거로 돌아가기

git reset <commit id> --hard

git revert

 

 

git add 원리

파일의 이름은 index에

파일의 내용은 objects에

 

파일의 이름이 달라도 파일의 내용이 같으면 같은 오브젝트 파일을 가르킨다

 

Objects 파일명의 원리

sha1을 통해 만들어진 해시 값으로 오브젝트 파일명을 지정

 

 

git commit 원리

commit한 버전은 objects 파일로 저장

objects 파일에 tree가 존재

-> tree의 값을 보면 작성한 버전의 해당되는 파일의 이름들과 그 파일의 내용이 링크되어 있음

 

objects 파일

1. blob: 파일의 내용

2. tree: 디렉토리의 파일명과 그 파일명의 내용에 해당하는 정보

3. commit: objects id도 가지며, 각각의 id

 

 

https://blog.osteele.com/2008/05/my-git-workflow/

 

git branch

- branch 생성

 

git checkout

- branch 전환

 

git checkout -b

- git branch와 git checkout을 동시에 수행

 

git log --branches

git log --branches --decorate --graph

git log --branches --decorate --graph --oneline

- log를 branch 형태로 확인

 

git merge

- branch 병합

 

git branch -d

- branch 삭제

 

git stash

- stash 생성

 

git stash apply

- stash 적용

 

git stash list

- stash list 확인

 

git stash drop

- stash 삭제

 

git stash pop

- git stash apply와 git stash drop을 수행

 

 

https://youtube.com/playlist?list=PLuHgQVnccGMA8iwZwrGyNXCGy2LAAsTXk