git

    Git Revert 와 Reset

    Git Revert 와 Reset

    Git 커밋을 되돌리고 싶을 때, revert와 reset 두 가지 명령어를 사용할 수 있다. 소개 reset은 커밋 히스토리까지 삭제하면서 해당 커밋지점으로 되돌린다. 장점은 말그대로 깔끔하게 되돌릴 수 있다는 것이다. 단점은 커밋 히스토리를 삭제하므로, 나중에 리셋한 행위를 돌이킬 수 없다. revert는 커밋 히스토리는 보존하며, 해당 커밋지점과 현재 커밋과 병합하면서 새로운 커밋을 생성한다. 장점은 커밋 히스토리를 보존하기 때문에 나중에 리셋한 행위를 돌이킬 수 있다. 단점은 히스토리가 남고, 병합이기 때문에 과거와 현재의 충돌지점을 손수 고쳐야 한다. 하지만 이 수고스러움 덕분에 장점이 하나 추가된다. 내가 되돌리고 싶은 코드만 골라서 돌이킬 수 있다는 점이다. 아직 remote reposito..

    Git으로 파일을 관리하면 파일 용량이 커질까?

    Git으로 파일을 관리하면 파일 용량이 커질까?

    Git으로 commit한 과거 데이터들은 어디로 저장이 될까? 어느 폴더에 저장이 될까? 파일 안에 같이 저장이 될까? Git의 동작원리를 알기 위해 Pro Git 문서를 살펴봤다. 위 다이어그램처럼 .git 디렉토리에 commit한 데이터들이 저장된다. .git 디렉토리에는 데이터들을 저장하고 관리하는 데이터베이스가 있다. Git도 데이터베이스를 사용한다고 보면 된다. 커밋 데이터들은 git repository에 저장됨을 알았는데, 중간단계인 staging area 데이터는 어디에 보관되는 것일까? 중간단계인 Staging Area도 .git 디렉토리에 있다. DB를 사용해본 분은 아시겠지만, DB에 접속해서 데이터를 바꾸고 나서 commit 을 하지 않으면 영구저장이 되지 않는다. commit 전의 ..