clone -> git clone
git 원격주소 저장 -> git remote add origin 주소
브랜치 관련 -> checkout
git에 했던 모든 기록 보기 -> git reflog
git을 사용할 문서 초기설정 -> git init
어떤 commit 상태으로 가고 싶을 때 -> git reset --soft 커밋주소
(이렇게 이동하면 다른 부분들이 스테이징 변경사항에 보임)
(이동하더라그 그상태의 문서들은 지워지지않음. 하지만 저장되어 있지 않았던 부분들은 보존 되지 않으니
꼭 reset 하기전에 git add .
+ git commit
을 하고 reset 사용하기)
어떤 commit 상태으로 돌아간후 그 이후의 변경사항은 날려버릴때 -> git reset --hard 커밋주소
(soft 와 달리 변경된 부분이 스테이징 변경사항에 보이지 않음)
로컬 브랜치 지우기 -> git branch -d 브랜치이름
로컬 브랜치 지우기 강제로 지우기 -> git branch -D
브랜치이름
(위 명령어와 다른점은 -d 를 쓰면 merge 하지 않은 상태라고 경고 메세지가 뜸,
그러면 -D 를 사용하면 강제로 지워 merge 하지 않은 branch 라도 지울 수 있음.)
remote branch 지우기 -> git push origin --delete
브랜치이름
git status
현재 commit 까지의 commit 들 -> git log
commit된 파일상태와 현재 수정중인 상태 비교 -> git diff
현재상태와 비교하고싶은커밋주소 상태 비교-> git diff 비교하고싶은커밋주소
로컬에서의 commit 상태로 강제로 만들고 싶을 때 -> git push origin --force 브랜치
( --> Local git을 rebase 로 커밋들을 변경하거나 reset 으로 이전 커밋으로 돌아간 상태로 만들고 이 커밋 log 상태를 remote github에 동일하게 만들고 싶을 때 사용. --force 로 강제로 맞춰준다.
--> --force 로 하지 않으면 pull 하고 merge 를 git 에서 추천하는데 이대로 추천대로 명령어들을 넣다 보면 뜻하지 않게 꼬이거나 원하지 않는 merge commit 이 추가될 수 있다.
--> 하지만 강제를 하는 만큼 그 커밋 이후에 있던 commit들이 사라지고 또는 고려하지 않았던 부분에서 문제가 생길 수 있는 만큼 조심해야 한다!! )