24P by xguru 2022-11-24 | favorite | 댓글 2개
  • Meta가 새로 공개한 Git 호환 버전 관리 - 클라이언트만 먼저 오픈소스로 공개
  • 나중에 공개될 Sapling 서버와 가상 파일 시스템을 이용하면 수천만개의 파일/커밋/분기가 있는 Repo에도 이용 가능
  • 메타의 대규모 Monorepo를 위해서 10년전부터 개발해서 사용(Mercurial의 확장으로 시작)
  • Usability 와 Scalability 를 강조
  • Git과 기본 명령은 비슷하지만 더 간단하고 쉽게. 각 커맨드는 한가지 동작만함. 로컬 브랜치명은 옵셔널. 스테이징 에어리어 없음

메타에서 성공적이었던 사용자 경험들

  • Smartlog
    • 기본 명령인 'sl'을 아무 옵션없이 실행하면 Repo를 한눈에 보기 가능
    • 필요없는 정보는 제거하고 로컬 커밋과 중요 리모트 브랜치들을 보여줌
    • 'sl web'을 치면 브라우저에서 보기 지원
  • 실수를 쉽게 수정하기
    • 'sl undo, sl redo, sl uncommit, sl unamend' 등의 명령을 지원
    • 'sl undo -i' 로 인터랙티브 모드 지원
  • Commit Stack 지원을 내장
    • 여러개 쌓여진 커밋을 쉽게 관리
    • 'sl goto COMMIT' 하고 'sl amend' 하면 자동으로 이동 및 리베이스 등을 처리
  • GitHub PR을 위한 코드리뷰 UI인 ReviewStack 애드온 포함

다음과 같이 설치하고 sudo apt-get install sl
sl 을 실행하면, 그것은 바로~~!!