원격 저장소(Remote Repository)
: 파일이 원격 저장소 전용 서버에서 관리되며 여러 사람이 함께 공유하기 위한 저장소입니다.로컬 저장소(Local Repository)
: 내 PC에 파일이 저장되는 개인 전용 저장소입니다.Larry/Recipes
라는 레포지토리를 내 계정에 가져옴(fork
)fork
를 하는 이유 : upstream
이라고 부릅니다. = fork
당한 repositoryorigin
이라고 부릅니다.Larry/Recipes
가 upstream
이고, Myaccount/Recipes
가 origin
이 된다.origin
은 원격 저장소의 이름을 뜻함. git remote add [이름] [url]
형식으로 사용git remote add origin [원격저장소url]
형식으로 원격저장소를 추가하기 때문에 origin
은 [원격저장소url]
에 해당하는 레포지토리를 의미함git clone [원격저장소url]
을 통해 원격저장소를 복사한다면 자동으로 origin
이라는 이름으로 [원격저장소url]
주소가 원격저장소로 등록되게된다master(=main)
branch 라고 명명함whitelist/blacklist
와 master/slave
라는 용어를 프로젝트에서 제거하기로 결정하면서 업계 전반에 이런 부분을 제거
하는 움직임이 일어났다.master/slave
같은 차별적인 용어 대신에 main
이라는 용어를 사용하게 바뀜. 따라서 기존에 default branch 명이 master => main
으로 변경됨git push --set-upstream origin master
git branch [branch이름]
git switch --track origin/[branch이름]
git switch [branch이름]
, git checkout [branch이름]
(현재branch에서 작업한 후) => git push origin [remote에서branch이름]
git branch -r
: remote branch 목록을 보여줌git branch -r
했는데 remote branch 목록이 안보이거나, 최신 상태로 업데이트 되지 않았을 경우git fetch --all --prune
혹은 git remote prune origin
를 입력해서 최신 상태로 업데이트 시켜준다git branch
: local branch 목록을 보여줌git branch -d [로컬branch_name]
git push origin --delete [리모트branch_name]
git push origin :[리모트branch_name]
(정리)
git reset
을 사용해도 문제 없다.git revert
를 사용하자.git reset
을 사용하는데 3가지 option인 --hard
, --soft
, --mixed
옵션이 존재함--soft
git reset --soft
를 사용하여도 local에서 작업했던 폴더(Working directory)에는 아무런 변화가 없음 & 작업했던 파일을 살펴보아도 아무런 변화가없음commit
만 하면됨--soft
옵션은 이전상태로 되돌려도 가장 변화가 적은 옵션(되돌려봤자 commit
만 안한상태, 코드는 수정된 상태로 있고 & add
도 된 상태--mixed
(default) --soft
와 마찬가지로, git reset --mixed
를 사용하여도 local에서 작업했던 폴더(Working directory)에는 아무런 변화가 없음 & 작업했던 파일을 살펴보아도 아무런 변화가없음add
하고 commit
하면 됨--hard
git reset --hard
를 사용하면 local에서 작업했던 폴더(Working directory) 및 & 작업했던 파일의 코드들이 이전상태로 변경되어있음git reset [option] [commitID]
git reset [option] HEAD~[숫자]
git reset --hard HEAD~6
: hard방식으로 현재 상태에서 6시점 전
상태로 되돌려라 라는 의미# git revert 예시
> git revert 5lk4er # D 커밋 revert
> git revert 76sdeb # C 커밋 revert
git log
명령어를 상용하면 현재 브랜치의 로그만 확인할 수 있다. git log --oneline
: 커밋 이력 중 커밋 ID 와 타이틀 메시지만 조회git reflog
라는 명령어를 사용하면 현재 저장소에서 수행된 모든 commit 로그를 확인할 수 있다. 따라서 특정 commit 시점의 해시를 찾을 때는 git reflog 명령어를 사용하는 것이 편리하다.