깃(Git) > 깃과 깃허브 (Git/GitHub)

깃과 깃허브 (Git/GitHub)

깃(Git)

페이지 정보

본문

  1. Git은 "시간 되돌리기(주로 코딩/개발)" 기능 
    1. Git은 작성하는 파일의 스냅샷을 찍어두는 도구. (파일별/단계별로 아주 세밀하게)
      Git은 파일 전체를 매번 복사하는 백업이 아니라, 변경된 상태를 기준으로 스냅샷을 기록하는 버전 관리 시스템이다.
    2. 버전 1 >> 버전 2 >> 버전 3 ...
      이런 식으로 즉 일종의 단계적 백업처럼 저장했다가 언제든지 이전 버전으로 복원 가능한 시스템이다. 물론 단순 백업과는 기능적으로 큰 차이가 있고 오히려 시스템 복원 지점 등록과 유사한 측면이 있음. 다만 시스템 전체(OS)를 되돌리는 것이 아니라 프로젝트 폴더 단위로 매우 정밀하게 관리한다는 점이 다르다. 
      >> 지금 내가 버전 3을 작성중인데 버전 3과 버전 2를 전부 취소하고 버전 1로 되돌아가려고 할때 백업된 버전 1을 복원하는 방식을 사용할 수도 있지만 Git을 도입해서 활용하는 게 좋다. 초기에 약간의 개념 학습이 필요하기는 하지만 여러모로 Git이 훨씬 바람직하다. 

  2.  Git의 필요성 
    1. 잘 돌아가던 코드가 갑자기 안 될 때 >> 언제든지 이전 버전으로 되돌릴 수 있음 (백업과 다른 차원)
    2. 수백 줄 수정하다 실수 났을 때 >> 한 번에 되돌릴 수 있음. (수정 지점이 수백 개 이상이면 ctrl+z로 되돌리기 불가능)
    3. 로컬 복제, 서버 코드 동기화 할 때 >>  유연하게 가능 
    4. 특정 기능/부분만 rollback 하고 싶을 때 >>  Git이 아니면 거의 불가능