git 명령어 정리

용상윤·2021년 7월 21일
0
post-thumbnail

⚡ 기본 명령어

git init - 저장소 만들기

📌$ git init

  • 로컬 git 저장소를 설정한다.

git status - 현재 상태 확인

📌$ git status

  • 현재 브랜치(main)와 커밋 상태, 작업 중인 파일의 상태 확인

git add

📌$ git add [option] [<pathspec>…​]

  • 파일의 변경사항을 index에 추가. Git은 커밋하기 전, 인덱스에 먼저 커밋할 파일을 추가함.

👉 ex) $ git add . 또는 $ git add -A

  • 모든 변경사항을 index에 추가.

git commit - 현재 상태 저장

📌$ git commit [-m <msg>]

  • 인덱스에 추가된 변경 사항을 커밋에 추가.

👉 ex) $ git commit -m "first commit"

  • "first commit" 라는 메세지의 커밋을 생성.

git log - 커밋 확인

📌$ git log [<options>] [<revision range>] [[--] <path>…​]

  • 다양한 옵션을 조합하여 원하는 형태의 로그를 출력할 수 있는 강력한 기능.

👉 ex) $ git log

  • 전체 커밋로그 확인하기

git reset - 이전 상태로(커밋 제거)

📌$ git reset [<commit>] [--soft | --mixed [-N] | --hard | --merge | --keep]

  • 특정 커밋으로 돌아가기. 바로 전, 또는 n번 전까지 작업했던 내용을 취소할 수 있음.

👉 ex) $ git reset 커밋아이디 --hard

  • $ git log를 통해 돌아가고 싶은 커밋아이디를 알아낸 후 명령어를 실행한다.
    (실행 후 log를 확인해보면 이 후 커밋은 아예 삭제되어 있으니 주의해서 사용할 것)

git revert - 이전 상태로(커밋 유지)

📌$ git revert <commit>…​

  • 해당 커밋 내용을 적용시키지 않은 채로 새로운 커밋을 생성.

git restore - 워킹트리 파일복원

📌$ git restore 파일이름


⚡ branch

git branch - 브랜치 목록 조회

📌$ git branch

  • 로컬 브랜치 목록 조회

📌$ git branch -r

  • 원격 브랜치 목록 조회

📌$ git branch -a

  • 모든 브랜치 목록 조회

git switch -c - 브랜치 생성 및 이동

📌$ git switch -c 새로운브런치이름

  • 현재 branch를 기준으로 생성되기 때문에 git status를 통해 현재 branch를 꼭 확인하자.

  • -c 명령어는 브랜치를 생성과 이동을 동시에 수행하는 옵션, 아래 명령어와 동일.
    branch 생성📌$ git branch 새로운브런치이름
    branch 이동📌$ git switch 새로운브런치이름

switch? checkout?
switch는 git 이 업그레이드 되며 새로 생긴 명령어. checkout의 역할이 너무 많았기 때문에 분리되었다.
이전에 $ git checkout 브랜치이름 을 통해 브랜치를 변경하던 역할을 수행한다.


git merge - 브랜치 합치기

📌$ git merge 브랜치이름

  • 커밋 메시지도 함께 merge 된다.

⚡ 원격저장소(GitHub) 사용하기

원격 저장소 설정하기

📌$ git remote add <name> <url>

👉 ex) git remote add origin https://github.com/...


현재 원격저장소 확인하기

📌$ git remote -v


원격저장소 url 변경하기

📌$ git remote set-url <url>


main(master) 브랜치 설정하기

📌$ git branch -M 브랜치이름


git push - 원격 저장소 저장

📌$ git push [-u | --set-upstream] [<repository> [<refspec>…​]]

  • -u 를 사용해서 push를 한 이후에는 git push 명령어만으로 초기 branch에 push를 할 수 있음.

git clone - 원격 저장소 복제

로컬저장소에서 원격저장소로 저장하는 과정이 push라면 원격저장소에서 로컬저장소로 파일을 가져오는 것.

📌$ git clone <repository> <directory이름>

👉 ex) $ git clone https://github.com/username/example.git sample2

  • example이라는 repository를 sample2라는 폴더에 클론한다.

git pull - 원격 저장소 내용 가져오기

📌$ git pull origin 브랜치이름

  • git clone을 통해 저장소를 복제했다면 $ git push 만으로도 내용을 가져올 수 있음.

$ git clone ...
$ git init 👉 $ git remote add origin <repository> 👉
$ git pull origin 브랜치이름 과정과 동일.


⚡ 기타

warning: LF will be replaced by CRLF in

라는 오류가 발생했을 때...

📌$ git config --global core.autocrlf true

를 입력하고 다시 add


git pull origin master --allow-unrelated-histories

github에서 readme 만 수정했거나 등의 이유로 바로 push가 안될 수 있음.


사용중 .gitignore 파일을 만든경우

$ git rm -r --cached .

$ git add .

$ git commit -m "git ignore add"

$ git push

⚡ 참고

profile
달리는 중!

0개의 댓글