Github 체크아웃 방법, fetch 와 pull, 병합시 사용하는 merge 와 rebase, 브랜치 다루는 방법은 아래 포스팅을 참고하세요. 

👉https://gosasac.tistory.com/72

 

[Git] - Github 체크아웃, fetch 와 pull, merge 와 rebase, 브랜치 다루기

git - 프로젝트 관리시작, commit, push, 프로젝트 원격지로 올리는 법, 원격지 연결 해제 방법은 아래 포스팅을 참고하세요 👉https://gosasac.tistory.com/71 git - 프로젝트 관리시작, 브랜치명 변경, 커밋,

gosasac.tistory.com

 

 

🟥 파일의 삭제와 이동

* 삭제

파일은 그냥 삭제하면 Working directory에 남아있습니다.

git rm 파일명

git rm 으로 삭제하면 파일의 삭제가 Staging area에 있습니다.  

 

* 이동(or 이름변경)

mv 명령어를 이용하면 이동이나 이름변경이 가능합니다.

git mv 원본파일명 변경할파일명

 

 

 

🟥 커밋하지 않은 파일 되돌리기 [reset]

 

* 파일을 Staging area 에서 Working directory로 되돌리기

git restore --staged 파일명

 

 

* add가 안된 상태에서 파일을 수정 이전상태로 되돌리기

git restore 파일명

 

* stage에 올라가지 않은 모든 변화들 원복시키기

git restore .

 

* stage안에 있는것들 까지 모두 되돌리기

git reset --hard

❗ reset의 세가지 옵션

1. --soft : repository에서 staging area로 이동

2. --mixed(default) : repository에서 working directory로 이동

3. --hard: 수정사항 완전히 삭제

 

 

 

* 특정 파일만 git의 특정과거 시점으로 되돌리기(Working directory의 파일만 가능합니다)

git restore --source=해시값 파일명

* 특정 리비전에 대한 해시값은 아래 reflog를 통해 확인할 수 있습니다.

 

 

 

🟥 reset 되돌리기 [reflog]

* reset으로 커밋 15개 되돌리기

git reset --hard HEAD~15

각 브랜치에서 가장 마지막(최신의) 커밋 위치를 HEAD 라고 표현합니다. 

HEAD에 물결(~)을 붙이면 HEAD를 기준으로 뒤로 이동하고 윗꺾새(^)를 붙이면 앞으로 이동한다는 의미입니다. 

(reset으로 삭제한 건 git log로도 볼 수 없습니다. )

 

 

* 모든 깃 작업내용 보기 (특정 리비전의 해시값 확인)

git reflog

빨간 박스 안에 보이는 문자열이 각 리비전의 해시id 입니다.

해당 해시값을 이용해 원하는 시점으로 되돌아 갈 수 있습니다.

 

 

* reset 전 해시값을 이용해 다시 reset

git reset --hard 해시값

+ Recent posts