11P by neo with xguru 6달전 | favorite | 댓글 2개

버전 관리 시스템(VCS)에 있어 Git이 최종적인 해결책인지, 아니면 더 나은 시스템이 가능한지에 대한 질문

주요 답변들

  • Git을 배우는 것이 다른 VCS를 사용하거나 새로운 VCS를 만드는 것보다 훨씬 유익함
  • Git CLI는 좋지 않아서 다양한 곳에서 Git UI 문제를 해결하려고 노력중
  • Jujutsu는 다른 분산 버전 관리 시스템(DVCS)의 장점을 결합하고 혁신적인 개념을 도입함
  • SQLite 개발자가 만든 Fossil 은 파일의 기록을 앞뒤로 추적가능
  • Pijul 도 유망함
  • Git 내부는 복잡하지 않지만, 인터페이스가 혼란스러움
  • 대규모 바이너리 파일에 대해서는 아직 부족함. LFS는 어색
  • Darcs 도 괜찮음
Hacker News 의견
  • 많은 사람들이 Git을 처음이자 유일한 버전 관리 시스템(VCS)으로 접하게 되었음.

    • 이전에 RCS, CVS, SVN을 사용하다 Git으로 넘어온 경험이 있음.
    • Git은 이전 시스템들의 근본적인 구조적 결함을 해결함.
    • Git의 한계는 사용자가 Git을 어떻게 사용하는지 아는 데에 있음.
    • Git의 복잡한 UI를 단순화하려는 시도는 Git의 강력함을 약화시킬 수 있음.
    • Git을 배우는 것이 다른 VCS를 사용하거나 새로운 VCS를 만드는 것보다 훨씬 유익함.
  • Git이 "더 나은" VCS가 되기 위해 어떤 측면을 개선해야 하는지에 대한 질문.

    • Git의 CLI 사용자 인터페이스는 복잡함.
    • Git은 빠르게 성장할 수 있었지만, CLI 사용자 경험을 희생함.
    • 여러 회사들이 Git UI 문제를 해결하기 위해 다양한 솔루션을 제공함.
  • Jujutsu 버전 관리 시스템이 다른 분산 버전 관리 시스템(DVCS)의 장점을 결합하고 혁신적인 개념을 도입함.

    • 해커뉴스에서 여러 차례 논의된 바 있음.
  • Sqlite의 창시자들이 만든 Fossil이라는 시스템.

    • Fossil은 Git과 달리 파일의 역사를 앞뒤로 추적할 수 있는 기능을 제공함.
  • Git이 완벽하지는 않지만 대체제보다는 낫다는 의견.

    • Git의 기능 발견성이 혼란스럽고 복잡함.
    • Git을 배우는 것은 많은 노력을 요구하지만, 기본 명령어만 사용할 때는 문제가 없음.
  • Git의 내부 작동은 복잡하지 않으나, 사용자 인터페이스가 혼란스러움.

    • Git 자체가 아니라 사용자 인터페이스를 단순화하는 것이 필요함.
  • Fossil이라는 시스템이 Git의 대안으로 제시됨.

    • Fossil은 Git 저장소의 중앙집중화 문제를 해결하는 포지 툴을 포함함.
  • Git이 기본적으로 큰 파일/이진 자산을 더 잘 다루었으면 하는 바람.

    • LFS(Large File Storage)는 괜찮지만 완벽하지 않음.
    • CLI는 문제가 없으며, 많은 대체 도구들이 존재함.
  • Sqlite의 Fossil과 Facebook의 Sapling이 Git의 대안으로 언급됨.

  • Git의 인터페이스를 개선할 수 있는 방법에 대한 개인적인 이론.

    • 저장소를 방향성 그래프로 더 집중하고, 언어를 그래프와 같은 용어로 사용함.
    • 수학적 배경을 가진 사람들에게 Git을 더 쉽게 배울 수 있게 함.

대용량 파일을 자주 다루는 게임 개발자 입장에서는 git을 사용하는데 한계가 있을 수 밖에 없다고 생각합니다.
git은 snapshot 방식으로 저장하기 때문에 파일이 조금만 바뀌어도 저장 용량이 크게 늘 수 밖에 없습니다. snapshot이 아닌 delta 방식으로 저장해야 해결이 되는데 이는 git의 기본 설계 철학을 훼손할 수 있는 것이어서 차라리 같은 DVCS이면서 delta 방식으로 저장하는 mercurial을 사용하는 것이 좋지 않을까 싶습니다.