깃 최초 설정
git config --global user.name 닉네임 - 닉네임 중간에 공백이 있으면 " "로 묶기
git config --global user.email 이메일주소
git config --global core.editor "code --wait" - 디폴트 에디터를 vscode로 지정
git config --global core.pager cat - 터미널창에서 화면 안넘어가고 내용 출력
-> git log --oneline 등에서
Windows와 Mac OS의 공백문자(줄바꿈) (Carriage return, Lind Feed)
git config --global core.autocrif true - windows
git config --global core.autocrif input - mac
Git Command
1. git init : 저장소 생성 (git 초기화) / 일반 폴더를 깃 저장소로 만든다
2. git status : 현재 상태 확인 / 파일명이 빨간색 (working directory) 초록색(staging area)
• untracked : 한 번도 버전관리를 하지 않은 상태. git add 해야 commit 가능
• tracked : 버전관리를 한 이력이 있는 상태. add를 생략하고 commit 가능하지만 위험하다 ***
-> git commit -am "메시지"
3. git add : 파일의 변경 사항을 staging area에 추가
• git add 파일명.확장자 - 특정 파일 추가 하기
• git add * : 변경 내용이 있는 모든 파일 추가 하기
• git add . : 위와 같음
4. git restore : 작업 내용 취소
• git restore 파일명 : working directory에 있는 파일의 작업 내용 취소
• git restore --staged 파일명 : staging area에 있는 파일을 working directory로 다시 가져옴
5. git commit : 파일의 변경 사항에 대한 이력 생성
• git commit -m "메시지"
• git commit : commit 까지만 입력하면 에디터에서 메시지 상세하게 입력 가능
6. 커밋 메세지 수정
• git commit --amend : 마지막 commit 메시지 수정
• git rebase -i {해시코드} : 특정 commit 메시지 수정
-> 해시코드는 수정을 원하는 커밋보다 이전 커밋의 코드를 입력해야 함.
-> 수정을 원하는 commit의 상태를 edit으로 바꾸고 저장 닫기
-> git commit --amend
-> 메시지 수정하고 저장 닫기
-> git rebase --continue
-> git log --oneline : 메시지 잘 바뀌었나 확인
7. git log : commit 이력 확인
• git log --oneline
• git log --oneline --graph : commit, 브랜치를 자세하게 보여줌
8. git checkout : 과거 commit 이력 확인
• git checkout {해시코드} : 입력한 해시코드 이전 commit 시점으로 이동
• git checkout HEAD~2 : 헤드로부터 2개 이전 commit 시점으로 이동
• git checkout main : 마지막 commit 시점으로 이동
9. git reset : 이전 상태로 복원 (commit 이력 제거)
• git reset --mixed : commit 이력 삭제, working directory에 변경 사항은 있는 상태 (default 값)
• git reset --soft : commit 이력 삭제, 변경사항이 있는 파일이 staging area에 올라와 있는 상태
• git reset --hard : commit 이력 삭제, 파일의 변경 사항 삭제
그 다음, 아래의 명령어를 입력해 원격저장소에 강제로 push한다.
git push -f origin main
10. git branch : 브랜치 생성 및 이동
• git branch 브랜치명 : 브랜치 생성
• git checkout 브랜치명 : 브랜치 이동
• git switch 브랜치명 : 위와 같음 (checkout 명령이 다른 여러기능을 가지고 있어서 추가된 명령어)
• git switch main : main 브랜치로 이동
• git merge likelion : likelion 브랜치를 현재 브랜치로 병합
• git branch -d 브랜치명 : 브랜치 삭제
• git branch -b 브랜치명 : 브랜치 만들고 바로 이동 -branch
• git switch -c 브랜치명 : 브랜치 만들고 바로 이동 -create
• git branch -m main : 기본 브랜치명을 master에서 main으로 변경
• git config --global init.defaultBranch main : init 시 기본 브랜치명이 항상 main으로 변경
** HEAD는 현재 가르키고 있는 브랜치 버전. 반드시 마지막 시점이 아님
11. git remote : 원격 저장소 리모트 브랜치 관리
• git remote -v : 리모트 브랜치 조회
• git remote add origin {저장소 주소} : 리모트 브랜치 추가
• git remote remove origin : 리모트 브랜치 삭제
• git remote rm origin : 위와 같음
• git branch -r : 리모트 브랜치 조회
• git branch -a : 리모트와 로컬 브랜치 모두 조회
• git remote update : 원격 저장소 리모트 브랜치 업데이트
12. git push : 로컬의 변경 이력을 원격 저장소로 전송
• git push origin main : 로컬의 main 브랜치의 변경 이력을 원격 저장소의 main 브랜치로 보내기
• git push -u origin main
13. git pull : 원격 저장소의 내용을 로컬에 반영 (fetch + merge)
• git pull origin main : 원격 저장소의 main 브랜치의 변경 이력을 로컬의 main 브랜치로 가져오기
• git pull --set-upstream origin
14. git merge : 브랜치 병합하기
• git merge develop : develop 브랜치를 현재 브랜치에 병합
• git merge --abort : 병합 취소
15. git stash : 파일 변경 내용 임시 저장
• git stash
• git stash list : 저장 목록 조회
• git stash show : 저장 내용 조회
• git stash show -p : 저장 내용 상세 조회
• git stash pop : 가장 최근 저장 내용 추출 → 목록에서 사라짐
• git stash apply : 가장 최근 저장 내용 추출 → 목록에 남아있음
• git stash drop : 가장 최근 저장 내용 삭제
• git stash clear : 목록 전체 삭제
'FE > HTML_CSS_JavaScript' 카테고리의 다른 글
Sass vs Tailwind CSS (0) | 2023.11.30 |
---|---|
HTML 2 (1) | 2023.10.30 |
HTML 1 (0) | 2023.10.27 |
마크업 언어 (0) | 2023.10.27 |
CLI (Command Line Interface) (0) | 2023.10.25 |