[GIT] add, commit, push 취소

고준영·2021년 8월 17일
0

Git🐙

목록 보기
2/3
post-thumbnail

1. Reset

1) HEAD

reset을 공부하기 전에 HEAD를 일단 알아야 한다.
HEAD란 현재 작업중인 작업트리(Branch)의 가장 최근의 commit을 가리킨다
HEAD에는 ~연산자가 존재하고, HEAD~이동거리

$ git reset --soft HEAD~3

위 처럼 사용 할 수 있다. ^도 사용 할 수 있는데, ^는 HEAD로 부터 이동거리 1

2) Reset

에는 3가지 방식이 있다

$ git reset --soft HEAD^
$ git reset --mixed HEAD^
$ git reset --hard HEAD^
  1. SOFT : index 보존(add한 상태, staged 상태), 워킹 디렉터리의 파일 보존. 즉 모두 보존.
  2. MIXED : index 취소(add하기 전 상태, unstaged 상태), 워킹 디렉터리의 파일 보존 (기본 옵션)
  3. HARD : index 취소(add하기 전 상태, unstaged 상태), 워킹 디렉터리의 파일 삭제. 즉 모두 취소.

2. add 취소

add를 취소하는 방법을 위의 reset에서 생각을 해보자
add 하기 전 상태로 되돌려야 하기 때문에 MIXED 또는 HARD reset을 해주어야 한다.
다만 이때 HARD reset를 하게 된다면, add 하기 전과 더불에 작성했던 내용들이 다 삭제 되기 때문에 주의 해서 사용해야 한다.

3. commit 취소

  1. commit 만 취소하고 add가 된 상태로 나타내고 싶다면
$ git reset --soft HEAD^
  1. commit도 취소하고 add까지 하고싶지 않다면
$ git reset --mixed HEAD^
or
$ git reset HEAD^ (mixed는 기본)

4. push 취소

이미 push된 commit을 지우기 위해서는
1. 되돌리고 싶은 시점으로 commit 취소 먼저 해주고 나서
2. 원하는 부분만 commit을 재실행 해준다.
3. 강제로 push 해준다
이때 원격저장소에는 우리가 원래 저장 한 내용 이외에 다른 내용을 덮어 씌우는 방식이기에 강제적으로 push 해주어야 하고, 이때는 같이 협업하는 이들의 commit log도 수정해주어야 하기에 사용 할때는 조심해서 사용해야 한다.

5. Conclusion

git을 사용하면서 다시 되돌리는 일을 여러번 해야할 것 같은데 이렇게 확실하게 한번 공부해두니 나중에 사용할 때 어떤걸 사용해야 할지 왜 사용하는지에 대해 잘 알 수 있을것 같다.
늦더라고 정확하게 알고가자🔥
21.08.17 위코드 3주차 화요일

profile
코드짜는귤🍊 풀스택을 지향하는 주니어 개발자 입니다🧡

0개의 댓글