쉘 변경
(zsh에서 bash로 변경해 놓은 상태)
The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
깃 초기화
git init
git config user.name "[이름]"
git config user.email "[메일]"
깃의 3가지 작업 영역
working directory = working tree
staging area = index
repository 실제로는 .git 디렉토리
깃 커맨드
git add . : 변경 사항이 있는 파일 모두 add
git status
git commit -m "[explanation]"
git reset [file name] : staging area에서 파일 제거 (->working directory에만 존재)
git help [커맨드]
man git-[커맨드]
깃헙 GitHub
git push : local -> remote repository
git pull : remote -> local repository
git clone [깃헙 프로젝트 주소] : 해당 주소의 깃헙 프로젝트 레포지토리 복제
커밋 다루기
git log 위로 갈수록 최신 커밋
git log --pretty=oneline 한 줄로 보기
git show [최소4글자의 커밋 아이디]
git commit : vim 텍스트 에디터 화면에서 커밋 메세지 작성
git commit --amend : 최신 커밋 수정
git config alias.[별명] '[깃 커맨드]' : 해당 깃 커맨드를 해당 별명으로 지정
.git/config 에서 설정 확인 가능
ex) git config alias.history 'log --pretty=oneline'
git diff [커밋1] [커밋2] : 두 커밋의 차이
커밋의 HEAD에 따라 working directory(tree)의 상태 달라짐
git reset --hard [커밋 아이디] : 아이디에 해당하는 커밋으로 HEAD 변경
--hard : working directory까지 변경
--mixed : staging area까지 변경
--soft : HEAD만 과거 커밋을 가르킴
git reset --hard HEAD^ : 헤드의 직전 커밋
HEAD~n : 헤드의 n단계 전 커밋
git tag [태그 이름] [커밋 아이디] : 커밋에 택 달기
git tag : tag 출력
git show [tag] : 택과 연결된 커밋 설명
브랜치
git branch [branch name] : branch 생성
git branch : branch 상태
git checkout [branch name] : 해당 branch로 스위치
브랜치 바뀌면 워킹 디렉토리 달라지는거 넘 신기행,,,
git checkout -d [branch name] : delete. 브랜치 삭제
git checkout -b [branch name] : bㅏ꾸다(ㅋㅋ) 브랜치 새로 만들고 스위치
git merge [다른 브랜치 네임] : 현재 브랜치와 해당 브랜치를 merge
conflict 생기면 그 부분 지우고 다시 작성, 커밋하는 게 일반적
git merge --abort : merge 취소
(꿈에서도 깃이라는 글자 본 것 같다 ... 지겨워 증말)
이전 커밋에서 새로운 브랜치를 생성하고 싶을 때
$ git checkout [commit ID] : 헤드가 해당 커밋을 !직접! 가리킴 = "Detached HEAD"
$ git branch [new branch name] : 새로운 브랜치, 헤드가 하나의 커밋을 가리키는 중
$ git checkout [위에서 새로 만든 브랜치 네임] : 헤드가 브랜치를 통해(간접적으로) 커밋을 가리키는 정상적인 상태
3-way merge
- base랑 비교했을 때 달라진 게 있는 브랜치 선택
- 둘 다 변화했으면 conflict 발생, 네가 알아서 고르세요.
fast-forward merge
- 현재보다 최신 커밋인 브랜치와 머지하길 원할 때, 헤드가 최신 커밋인 브랜치를 가리켜 버린다
- 커밋은 새로 생기지 않음
21.3.17 백업
'_공부하는 > git' 카테고리의 다른 글
| ubuntu에서 git username/password 생략하기 (0) | 2021.12.12 |
|---|---|
| git 2탄 (0) | 2021.03.25 |