Git
의 역사는 사용하기가 매우 간단한 도구 중 하나이며, 자주 뉘앙스가 많은 뉘앙스를 발견하지 못합니다. 당신은 웹에서 저장소를 복제하고 그것에 관한 것입니다. 변경 사항을 변경하면 아마도 당신이 그들을 추적 할 것뿐만 아니라 진정으로 공손한 경우 프로젝트에 되돌아 가기위한 끌어 오기 요청을 생성 할 수 있습니다. 그러나 당신이 할 수있는 더 많은 거래가 있습니다. 예를 들어, Git가 협업 단어 문서를 추적 할 수 있음을 이해 했습니까? 여러 Linux 상자에서 시작 데이터를 관리합니까?
Git은 수정 (또는 버전) 제어를하는 소프트웨어 응용 프로그램 제품의 가구에 속합니다. 개념은 소프트웨어 응용 프로그램 (예 :)뿐만 아니라 각 개정판을 추적 할 수 있다는 것입니다. 훌륭한 시스템은 한 번에 여러 사람이 일을 할 수있게 해주는 조항이 있습니다. 일반적으로 다른 부분으로 작업을 분할하는 몇 가지 방법이 있습니다. 예를 들어, 다른 시장을 위해 제품의 버전을 설정하거나 일반적인 개발을 깨지 않고 실험적 기능을 시도하기 위해 분리 할 수 있습니다. 경우에 따라 궁극적으로 그 분할을 기본 선으로 다시 가져 오게됩니다.
다음 할부에서는, 당신이 유용 할 수있는 GIT를 위해 이상하게 사용하면이 게시는 주로 GIT가 어떻게 왔는지 정확하게 이야기하는 것입니다. 오픈 소스 발전은 화염 전쟁을 위해 이해할뿐만 아니라 적어도 몇 가지가 있습니다. 진정한 해커 패션뿐만 아니라 이야기의 영웅은 그가 그가 활용하는 도구를 좋아하지 않는다는 것을 결정합니다.
버전 컨트롤러의 전쟁
역사적 으로이 기능을 수행 한 많은 소프트웨어 응용 프로그램은 중앙 서버 마인드가있었습니다. 즉, 코드는 네트워크에서 어딘가에 살았습니다. 데이터를 검사 할 데이터를 작업하기를 원했을 때. 이것은 다른 누구도 검사를하지 않았다면 만 일했습니다. 물론, 성공한 경우, 다른 사람이 당신이 그들을 되돌릴 때까지 당신의 데이터를 검사 할 수 없습니다. 네트워크에서 멀리 떨어져 있었다면뿐만 아니라 뭔가 일하고 싶었습니다.
그러나 더 현대적인 도구는 이러한 제한 사항 중 일부를 편안하게합니다. 이상적으로, 도구는 변경 사항을 해제 할 때 즉시 다른 사본을 업데이트 할 때 즉시 업데이트 된 작업의 지역 사본을 제공 할 수 있습니다. 이 방법은 중앙 복사본이 없었습니다. 다른 팀 동료와 다른 작업을 수행하는 작업을 조정할 필요가 없을뿐만 아니라 어디에서나 작동 할 수 있습니다.
폐쇄 도구
매우 큰 분산 팀은 Linux 커널을 설정합니다. 1998 년 말까지 팀은 개정 관리와 함께 어려움을 겪고있었습니다. 커널 개발자 인 [Larry McVoy]는 비트 키퍼라는 제품을 관리하는 확장 가능한 분산 버전을 작성한 비즈니스를했습니다. 그것은 산업 제품 이었지만, 이후에 제품을 활용하는 동안 경기장에서 작동하지 않았던 한, 이웃을 활용할 수있는 이웃 허가가있었습니다. 산업 모두뿐만 아니라 오픈 소스 경쟁 모두에 사용되는 제한. 제품이 컴퓨터에서 대부분의 데이터를 유지했지만 서버 구성 요소가 있었으므로 비즈니스는 실제로 제품의 사용을 추적 할 수 있습니다.
2002 년 Linux 커널 팀은 비트 키퍼를 포용했습니다. [Linux Torvalds]는 새로운 시스템의 지지자들 중 하나였습니다. 그러나 다른 디자이너 (그리고 [Richard Stallman]와 같은 관심있는 행사는 오픈 소스를 설정하기 위해 독점적 인 도구를 사용하는 것에 관심이있었습니다. 비트머 – 비트 메이커 뒤에있는 비즈니스는 다른 시스템을 활용하려는 디자이너가 일부를 사용하여 일부 게이트웨이를 추가했습니다. 정도.
대부분의 경우 가끔 불꽃만이 여기서뿐만 아니라 거기에서 벗어나는 것만으로 조용한 것들이 있습니다. [McVoy ‘s Business가 공개 된 경우 2005 년까지는 비트 키퍼의 무료 버전을 중단 할 때입니다. 그 이유는 산업 버전에서 무료로 제공되는 특징을 추가 한 개인을 확립 한 이유 때문입니다.
새로운 도구
결과적으로 두 개의 일자리가 교체를 설정하는 것만 큼 회전합니다. 수은뿐만 아니라 GIT뿐만 아니라 다른였습니다. [McVoy]는 노동자 [Bryan O’Sullivan]가 자신의 수직에 기여하는 것을 요구하는 산업용 고객에게 연락했다. 물론 Mercurial뿐만 아니라 Git뿐만 아니라 Git가 커널 팀의 버전이 시스템 관리 시스템을 관리 할뿐만 아니라 많은 다른 사람들을위한 시스템을 관리합니다.
Git의 탄생
[Linus]는 선반 시스템이 더 많이 찾았습니다. 그 당시 아무도 성능이나 커널 진보 팀에 맞는 기능이 없었습니다. 그는 속도, 단순성을 위해 Git을 설계하고 CVS (Revifed 버전 관리 프로그램)가 수행 한 똑같은 것들을 방지합니다.
초기 진보는 며칠을 찍었습니다. 2005 년 후반 버전 1.0 릴리스 이후 소프트웨어 응용 프로그램은 하나 이상의 주요 웹 사이트뿐만 아니라 많은 개발자, 오픈 소스뿐만 아니라 광고와 상업용 옵션의 시스템 시스템이되었습니다.
록 맨
흐름도는 TRIC를 보여줍니다k는 정확히 GIT가 한 번에 많은 개발자를 처리하는 방법을 정확히 봅니다 : 저장소 또는 Repos. 각 디자이너는 전체 작업 (지역 저장소)의 전체 복사본을 가지고 있습니다. 실제로 공유를 상관하지 않으면 원격 저장소를 요구하지 않습니다. 귀하의 개인 REPO는 다른 누구든지만큼 완전한 기능을 갖춘 GIT 직업이며, 원격 중 하나는 GitHub 또는 하나의 네트워크 서버에서 가장 가능성이 큽니다. 작업 디렉토리에서 수정하고, 당신이 “완료”하고, (지금) repo로 바치뿐입니다. 시간이 지나면 다른 사람의 변경 사항과 병합되면 리모컨만큼 수정을 누르십시오.
흥미롭게도 Git은 텍스트 데이터에서만 작동하지 않습니다 (다음 할부에서 그게 더 많이 표시하십시오). 그러나 그것은 겹치지 않는 데이터를 수정하지 않고 자동으로 병합하지 않는 데이터의 수정 사항을 알아 차릴 수 있기 때문에 텍스트 데이터에 대해 최고의 작업을 수행합니다. 따라서 일부 코드에서 루프를 포함한 버그를 복구하고 일부 오류 메시지를 수정하면 코드가 병합 될 때 Git가 모두 종류가 될 것입니다.
물론 항상 작동하는 것은 아닙니다. 수동으로 해결 해야하는 충돌이 발생합니다. 그러나 코드의 정확한 똑같은 부분을 만지는 두 사람이없는 한 Git은 보통 그 차이를 해결하는 좋은 일을합니다. 물론 바이너리 데이터는 일반적으로 그 사치를 얻지 못합니다. 당신은 사람이 사람이 콧수염을 그린 것뿐만 아니라 그 녹색을 배경으로 바꾸 었음을 알 수있는 아이콘을 정확하게 차단할 수 없습니다. 그러나 기술적으로 알고리즘을 파악할 수 있으면 Git에 추가 할 수 있습니다.
대단원
Git에 대한 귀하의 이해를 촉진하고 싶다면이 튜토리얼에서 15 분을 소비하는 것보다 더 나빠질 수 있습니다. 기본 사항을 이미 이해하면 더 진보 된 자습서에서 새로운 것을 발견하거나 Git A에 제공된 Talk [Linus]의 비디오를 검사 할 수 있습니다.
2016 년에, 비트 키퍼는 물론 오픈 소스 인 아파치 허가로 이동할 것입니다. 아이러니 한 종류는 그렇지 않습니까?
사진 크레딧 :
Tux 군인, [Sharkey], CC BY-SA 3.0
Linux Magazine, CC BY-SA 3.0에서 [Linus Torvalds]
[LBHTW], CC BY-SA 3.0의 순서도