Git Dictionary

이향기·2022년 1월 19일
0
  • 앞으로 CLI가 화면에 보여주는 모든 정보는 세심하게 읽을 것을 권장합니다

Git 로컬저장소 생성하기

$ cd {로컬저장소를 위한 경로}

: 내 문서(Documents)를 기준으로 저장소를 만드세요!
: 개발자는 CLI사용시 바탕화면(Desktop)을 잘 사용하지 않습니다.

$ git status
$ git init

: 현재 폴더에 Git 저장소를 생성합니다.
: 현재 폴더에는 [.git]이라는 숨김 폴더가 생성되는데, 사실 이것이 로컬저장소 입니다.

$ git status
$ git config <옵션명> <>

: <옵션명> - user.name, user.email

$ git config --list

스테이징과 커밋

$ git add 파일1 파일2
$ git commit -m "{커밋 메세지}"
  • 언스테이징
$ git reset {파일명}

로그 살펴보기

$ git log
$ git log -n<숫자>
$ git log --oneline --graph --decorate --all  # 자주 사용하는 옵션

Help 활용하기

$ git help {명령어}

원격저장소 관련 명령어

원격저장소 등록

  • 주의 사항
    • GitHub에서 새로운 Repository를 만들 때에는, 옵션을 통해 비어있는 프로젝트로 만들어야 한다
    • If not, 이미 생성된 커밋과 우리가 생성할 커밋이 출동을 발생 시킴
    • push --force 옵션을 통해 강제 push를 해야하는데, 이는 좋지 않은 명령이다
$ git remote add <원격저장소 이름> <원격저장소 주소>
$ git remote -v

push

$ git push -u origin main

clone

  • clone = fetch + merge
    • 저장소 주소에서 프로젝트를 복제해 옴
    • 새로생길 [새로운 폴더명]은 생략 가능하며, 생략시 프로젝트 이름과 같은 이름의 폴더가 새로 생성
    • <저장소주소>는 꼭 원격일 필요가 없으며, 로컬저장소도 git clone으로 복제 가능
$ git clone {저장소주소} [새로운 폴더명]

브랜치 생성하기

$ git log --oneline
  • 현재 브랜치 확인
$ git branch
  • 새로운 브랜치 생성
$ git branch {생성할 브랜치 이름}
  • 커밋 되돌리기
$ git revert {브랜치이름}

체크아웃 및 새 커밋 생성

$ git checkout <브랜치이름>
$ git branch
  • 변경사항 ~~
$ git status
$ git add {변경한 파일}
$ git commit
$ git log --oneline --all

빨리감기 병합

  • 스테이지 추가(add, commit)
$ git status
$ git checkout master
$ git merge {병합할 브랜치 이름}

브랜치 되돌리기

$ git reset --hard <이동할 커밋체크섬>

rebase해보기

: 현재 브랜치에만 있는 새로운 커밋을 대상 브랜치 위로 재배치

$ git rebase {대상브랜치이름}

배포 버전에 태깅하기

$ git tag -a -m "{태그 메세지}" <태그이름> [브랜치이름]
$ git push <원격저장소 별명> <태그이름>

: GitHub의 [Tags] 탭에서 확인 가능, [Release] 탭에서 다운로드 가능


[기본적인 git 명령어들]

$ git status
$ git init
  • 파일을 스테이지에 추가
$ git add 파일1 파일2
  • 스테이지에 있는 파일 커밋
$ git commit
$ git commit -a
$ git push [-u] [원격저장소별명] [브랜치이름]
$ git pull
$ git fetch [원격저장소별명] [브랜치이름]
$ git merge 브랜치이름
  • 언스테이징
$ git reset
  • log 살펴보기
$ git log
$ git log -n<숫자>
$ git log --oneline --graph --decorate --all  # 자주 사용하는 옵션
$ git branch [-v]
$ git branch [-f] <브랜치이름> [커밋체크섬]
$ git branch -r[v]
$ git checkout <브랜치이름>
$ git checkout -b <브랜치이름> <커밋체크섬>
$ git merge <대상브랜치>
$ git rebase <대상브랜치>
$ git branch -d <브랜치이름>

: HEAD 브랜치나 병합이 되지 않은 브랜치는 삭제할 수 없음

$ git branch -D <브랜치이름>

: 강제 삭제

$ git remote add <원격저장소 이름> <원격저장소 주소>
$ git remote -v
$ git push -u origin main
$ git clone <저장소주소> [새로운 폴더명]
명령어특징
git clone-인터넷에 있는 소스를 로컬에 다운받고 연결
-git remote add + git pull
-clone할 경로가 이미 있고, 비어있지 않으면 수행되지 않음
git fetch-remote repo의 내용을 불러오는 것
-단, local repo와 합쳐지지(merge) 않는다
-git push하기 전, 새로운 버전을 받아와야 할 때 유용
git pull-git fetch + git merge
-원격저장소와 로컬저장소를 비교하여 merge
-로컬저장소에 merge까지 하고싶지 않으면, pull보다는 fetch를 추천
git rebase-merge를 선택적으로 고르거나, pull 순서를 재조정해야하는 필요가 있을 때

[References]

profile
Data science & Machine learning, baking and reading(≪,≫)

0개의 댓글