꾸매코딩

[GitHub] 자주 사용하는 Git 명령어 유형별 정리 / master → main 본문

GitHub

[GitHub] 자주 사용하는 Git 명령어 유형별 정리 / master → main

꾸매코더 2021. 8. 3. 21:33
반응형

서론

글을 작성하기에 앞서 기존에 master가 들어가던 명령어가 main으로 바뀐 점 확인 바랍니다.

master라는 단어가 좋지 않은 어감을 가지고 있어서 바뀌었다고 합니다.

(root의 이름이 master main으로 변경)

 

[ 참고 ]

https://www.zdnet.com/article/github-to-replace-master-with-main-starting-next-month/

 

GitHub to replace 'master' with 'main' starting next month | ZDNet

All new Git repositories on GitHub will be named "main" instead of "master" starting October 1, 2020.

www.zdnet.com


초기 설정

이름, 이메일 설정

  • git config --global user.name "[Username]"
  • git config --global user.email xxxxxxx@xxxx.com

설정 확인

  • git config --global --list

로컬 저장소

로컬 저장소 만들기

  • git init

로컬 저장소 복제

  • git clone [리모트 저장소 URL ≒ Repository URL]

로컬 저장소 연결

  • git remote origin [리모트 저장소 URL]

파일의 상태 확인

파일의 현재 상태를 나타냄

  • git status

변경된 내용 차이점 비교

  • git diff 

출처 https://ndb796.tistory.com/187

스테이징 영역(Staging area) 관련 명령어

스테이징 영역에 추가(add)

  • git add [파일 명]

스테이징 영역에 모두 추가( . )

  • git add .

스테이징 영역에서 제거(remove)

  • git rm --cached [파일 명]
  • git rm -r --cached [폴더 명] → 폴더 제거 시 -r 사용

스테이징 영역에서 전체 제거

  • git reset HEAD [file]
  • 뒤에 파일명이 없으면 add한 파일 전체 취소
  • 파일명을 지정해주면 지정된 파일만 Unstaged 상태로 변경

 

로컬 레포지토리(Local repository) 관련 명령어

커밋 하기

  • git commit -m "[메시지]"

가장 최근 커밋 수정

  • git commit -amend -m "[메시지]"

가장 최근 커밋 수정 (커밋 메시지는 수정 X)

  • git commit -amend --no-edit

 

리모트(원격) 레포지토리(Remote repository) 관련 명령어

리모트 저장소 복제

  • git clone [리모트 저장소 URL]

리모트 저장소에 있는 파일 가져오기 

  • git pull [리모트 저장소 이름] [브런치 이름]

  → git pull origin main

  → pull = fetch + merge

리모트 저장소로 업로드

  • git push [리모트 저장소 이름] [브런치 이름]

  → git push origin main

리모트 저장소로 강제 업로드

  • git push origin main -f

리모트 저장소 추가

  • git remote [이름] [리모트 저장소 URL]

리모트 저장소 확인

  • git remote

리모트 저장소 URL 확인

  • git remote -v

리모트 저장소 제거

  • git remote remove [리모트 저장소 이름]

  → git remote rm [리모트 저장소 이름]


브랜치(branch) 관련 명령어

새 브랜치 만들기

  • git branch [브랜치명]

새 브랜치 만들고 이동

  • git checkout -b [브랜치명]

새 브랜치 만들고 이동

  • git checkout [브랜치명]

브랜치명 변경

  • git branch -m [브랜치명] [새로운 브랜치명]

메인 브랜치로 돌아가기

  • git checkout main

현재 브랜치 확인

  • git branch

브랜치 삭제

  • git branch -d [브랜치명]

이동 Checkout 명령어

과거 커밋으로 이동

  • git checkout [커밋 별명 / log id 값]

원래 상태로 되돌아가기

  • git checkout main

커밋 취소 reset 명령어

Hard / 커밋 삭제 & 과거 커밋(버전)으로 완전히 이동  - 파일 변경 내역 유지 X

  • git reset --hard [커밋 별명 / log id 값]

Mixed / 선택한 커밋에서 변경 사항을 Working directory 영역으로 이동 (git add 이전 상태)

  • git reset [커밋 별명 / log id 값]

Soft / 선택한 커밋에서 변경 사항을 Staging area 영역으로 이동 (git add 이후 상태)

  • git reset --soft [커밋 별명 / log id 값]

참고 자료

https://mylko72.gitbooks.io/git/content/

 

Introduction · Git, 분산버전 관리시스템

 

mylko72.gitbooks.io

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

 

Git - Book

 

git-scm.com

 

반응형