Front-End

최근 MS가 출시한 gitHub 툴 'Scalar'

realhee 2020. 3. 6. 00:03
반응형

최근 마이크로 소프트가 Git을 통한 생산성 향상을 위해 새로운 툴을 출시했다.

 

Git은 분산 버전 제어 시스템으로 기본적으로 각 Git 저장소에는 전체 히스토리에 있는 모든 파일의 사본이 있다. 중간 규모의 팀이라도 매 달 수백 메가 바이트를 추가하여 수 천 개의 커밋을 만들 수 있다. repository가 커지면 Git은 모든 데이터를 관리하는 데 어려움을 겪을 수 있다. 수정 된 파일을 보고하거나 최신 데이터를 얻기 위해 대기하는 시간이 낭비된다. 이러한 명령이 느려지면 개발자는 대기를 중지하고 컨텍스트 전환을 시작해야 한다. (이는 생산성에 해를 끼친다.)

 

Microsoft에서 Git용 VFS를 사용하여 Windows OS repository를 지원한다. 가상화 된 파일 시스템을 사용하여 repository 크기에 대한 많은 가정을 우회하여 Windows 개발자가 이전에는 불가능하다고 생각했던 규모로 Git을 사용할 수 있게 한다.

 

repository의 크기나 모양에 관계없이 Git work flow를 가속화할 수 있으며 시간이 지남에 따라 Git이 훨씬 더 많은 일을 하면서 진입 장벽이 낮아져 지금보다 더욱 많은 사람들이 Git에 진출할 수 있게 될 것이다.

 

자세한 내용은 원문 링크를 참조

 

중요한 파일에 집중할 수 있다.
//핵심 명령
git status
git add
git checkout

 

각 핵심 명령은 작업 디렉토리를 검사하여 작업 디렉토리에 대한 Git의 관점이 실제로 로컬에 있는 것과 일치하는지 확인한다. 이 집합의 큰 측정 방법에는 색인 크기, 채워진 크기 및 수정된 크기가 있다.

 

오브젝트 전송 감소

Git은 현재 참조 된 모든 버전과 히스토리의 모든 버전의 모든 객체의 완전한 사본을 기대한다. 이것은 전송해야만 하는 대용량 데이터일 수도 있다. 특히 현재 지점 근처에 있는 개체만 필요한 경우 checkout 후 작업을 수행해야 한다.

 

 

객체 전송을 줄이기 위해 GVFS 프로토콜을 제공한다. (현재 Szure Repos에서만 사용 가능) Git의 분산 특성을 완화하여 누락된 객체에 대한 중앙 서버에 약간 더 결합하여 Git을 매우 큰 repository에 적용하는 주요 문제를 해결한다. GVFS 프로토콜은 Git 객체를 동적으로 다운로드할 수도 있다. 

 

지연 시간을 줄이고 처리량을 높이기 위해 캐시 서버 세트를 통해 GVFS 프로토콜을 프록시할 수 있다. 이것은 중앙 서버의 부하를 줄이는 부가 효과가 있다.

 

유지 시간 감소

큰 repository에는 유지가 필요하다. 이러한 작업을 백그라운드 프로세스로 연기할 수 있다.

 

반응형