

Git을 만든 리누스 토발즈(위 사진 인물)도 한 인터뷰에서
"이렇게 쓰기 어려운걸 누가 쓰리라곤 생각도 못했다." 라고 했다고 한다. 만든 사람이 어렵다고 얘기할 정도면 어려운게 맞다. 그러니 이해하기 어려운 것도 맞다. 괜찮다. 조금씩 점점 가까워지면 된다. 알겠지? 하은아? : 네
그런의미에서 다시 한번
Git과GitHub의 뜻 깔끔하게 정리하고 가실게요
Git: 분산버전 관리 시스템GitHub: Git 원격 저장소
협업시 유용하다. 소스코드를 주고 받지 않아도 다수의 개발자가 프로젝트를 동시에 개발할 수 있다.
기능구현을 하다가 오류가 발생하거나 기획자가 해당 기능 부분을 변경 혹은 취소하여 작업하던 코드를 이전 작업으로 돌려야할 때, 코드를 되돌릴 수 있다.
이전 코드의 내용과 수정 부분, 수정한 사람이 저장되기에 오류추적이 용이하다.
버전 관리시스템 : 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템분산형 버전 관리 시스템 : 하나의 중앙 서버가 존재하지만, 여러 클라이언트들은 각자의 컴퓨터 저장소에 중앙 서버의 전체 사본을 가지고 작업을 하는 것분산형 버전관리시스템 외에도, 로컬형 버전관리시스템, 중앙형 버전관리시스템이 있다.
- 사용자의 컴퓨터에 관리할 버전 내용을 저장하는 시스템
- 비교적 사용하기 간단하나 다른 사람들과의 공유가 어렵고 사용자의 컴퓨터에 문제가 생겼을 때 복구가 어려운 단점 이 있습니다.
- 사용자의 컴퓨터가 아닌 여러 사용자의 버전 관리 내용을 중앙 서버에서 관리하는 시스템
- 중앙 서버에서 팀원의 역할이나, 권한 등을 관리할 수 있기 때문에 편리 하지만,
팀원은 가장 최신 버전만 가져가서 사용할 수 있다.
중앙 서버에 문제가 생길 경우 모든 팀원이 작업을 할 수 없게되며, 서버가 날아갈 경우 프로젝트에 대한 정보가 날아갈 수 있다는 위험성이 있습니다.
- 중앙에서 관리하고 있던 모든 이력을 가진 저장소 전체를 복사하여 사용자의 컴퓨터로 가져와 사용하는 시스템
- 사용자의 컴퓨터에서는 Local로 개발을 할 수 있으며 이를 중앙 서버로 보낼 수도 있고 중앙 서버의 진행상황을 사용자의 컴퓨터로 갱신시켜서 사용할 수도 있다.
- 중앙서버에 문제가 생겨도 사용자의 local 저장소에 저장된 데이터로 복구시키기가 용이하며 공동작업을 하는 팀원들 모두가 이러한 저장소 정보를 갖고 있으므로 서버와 일부 사용자의 데이터가 날아가도 복구가 가능합니다.