본문 바로가기
개발/개념정리

[Git/Git명령어] 명령어 정리 1 - 인프런 강의 참고

by 신앉아영 2023. 7. 26.
반응형

git 명령어 정리

인프런 강의 참고 (빠르게 git - 핵심만 골라 배우는 Git/Github)

 


재작년에 내가 네이버 블로그에 정리했던 내용인데 쓸만한것 같아서 다시 복붙해 옮겨왔다 

내가 정리한 인프런 강의 노트

https://www.inflearn.com/notes/12634

 

피로한 토끼님의 빠르게 git - 핵심만 골라 배우는 Git/Github 학습노트 - 인프런

피로한 토끼님이 직접 기록하고 공부한 [빠르게 git - 핵심만 골라 배우는 Git/Github] 학습노트 입니다.

www.inflearn.com

 


 

git은 3가지의 공간으로 분류

(1) 워킹 디렉터리

(2) 스테이징 에어리아

(3) 레퍼지토리

git 기본 명령어

git 시작하는 방법 : 내가 시작할 폴더를 선택해 오른쪽버튼 클릭 후 git bash here을 통해 cmd 창을 들어가기

git init : git을 시작할 때

git add 파일이름 : 파일을 스테이징 에어리아로 올릴 때

git add . : 모든 파일을 스테이징 에어리아로 옮길 때

git status : 현재 스테이징 에어리아에 있는 파일 목록

git commit -m "메세지" : 스테이징 에어리아의 파일을 레퍼지토리로 올릴 때

git commit : 자세하게 메세지를 작성할 수 있는 창으로 넘어감

git log : 레퍼지토리로 옮겨진 파일 목록

만약 동일한 파일이 수정되었다면 스테이징에어리아에 add하는것부터 다시 해주어야 함.

github에 push를 하게된다면 마지막 버전만 저장되는게 아니라 지금까지의 모든 버전들이 백업됨.

github 페이지에서 나의 계정이 보고싶을 때 github.com/유저이름

원격저장소(github)에 내 파일들을 밀어넣는 법(push)은

1. github.com/유저닉네임 페이지에서

2. 아래 세줄의 명령어를 복사 붙여넣기 하기

git remote add origin <url> 명령어

git branch -M main

git push -u origin main 명령어

 

github 메인사진

저 빨간 부분을 누르면 마지막으로 수정한 파일 뿐만 아니라 수정 전의 모든 파일들을 볼 수 있음

 

한번 이렇게 연결하면 다음부터 이 파일을 수정할 땐 git push 명령어만 입력해주면 됨

git을 되돌리는 방법 (git reset)

1. 수정한 것 까지 통째로 되돌리자 (아예 처음으로) git reset --hard HEAD^

2. add하기 전으로 되돌리자 (워킹 디렉터리로) git reset --mixed HEAD^

3. commit 하기 전으로 되돌리자 (스테이징 에어리아로) git reset --soft HEAD^

옵션을 선택하지 않을 시 자동으로 2번

HEAD : 가장 최근버전

^ : 하나만

--hard에 대해 자세한 설명

내가 test이란 파일을 레퍼지토리까지 commit하고서 test의 파일 내용을 수정하고 수정본을

레퍼지토리까지 commit한 상황. 그렇다면 레퍼지토리에는 수정 전, 후 가 존재하는데 hard를 사용하면

수정 후가 모두 사라지고 수정 전만 존재하게 됨.

--mixed에 대해 자세한 설명

위의 hard에 대한 설명과 동일하게 test란 파일을 레퍼지토리까지 commit하고

test파일을 수정하여 수정본도 레퍼지토리까지 commit하면 현재 레퍼지토리에는 수정 전, 후가 모두 공존

이때 --mixed를 사용하면 먼저 수정 전 파일은 여전히 레퍼지토리에 존재하고

수정후의 파일은 레퍼지토리와 스테이징 에어리아에서는 삭제. 워킹디렉터리(작업공간)에 존재하게 됨.

hard와의 차이점은 hard는 워킹디렉터리에도 존재x mixed는 워킹 디렉터리에는 존재o

--soft에 대해 자세한 설명

위와 동일함. --soft를 사용하면 수정 전 파일은 여전히 레퍼지토리에 존재.

수정 후의 파일은 스테이징 에어리아에 존재하며 레퍼지토리에서는 삭제됨.

 

혹시 위에 작성된 명령어 설명 중에 틀린 부분이 있다면 댓글 부탁드립니다!

반응형