paint-brush
GIT: 5가지 난이도로 설명됨~에 의해@mcsee
5,286 판독값
5,286 판독값

GIT: 5가지 난이도로 설명됨

~에 의해 Maximiliano Contieri4m2023/02/19
Read on Terminal Reader
Read this story w/o Javascript

너무 오래; 읽다

GIT는 소프트웨어 개발자가 소스 코드에 대한 변경 사항을 관리하고 추적할 수 있는 분산 버전 제어 시스템입니다. 이를 통해 동일한 코드베이스에서 여러 개발자의 동시 공동 작업이 가능해지며, 각 개별 개발자의 모든 변경 사항에 대한 포괄적인 기록을 유지할 수도 있습니다. 또한 오픈 소스이므로 누구나 무료로 사용할 수 있습니다.
featured image - GIT: 5가지 난이도로 설명됨
Maximiliano Contieri HackerNoon profile picture

이 환상적인 도구를 알고 이해하십시오.


TL;DR: GIT는 무엇이며, GIT 사용법을 배워야 하는 이유는 무엇입니까?


나는 다양한 청중에게 GIT를 다섯 가지 수준으로 설명할 것입니다.


많은 후배 개발자들이 경력을 시작하는 데 어떤 언어나 멋진 프레임워크가 더 좋은지 묻고 있습니다.


내 대답은 항상 같다:

언어와 프레임워크는 왔다가 사라집니다. 영어를 공부하고 GIT를 공부하세요.

어린이

GIT는 컴퓨터 프로젝트에 대한 모든 변경 사항을 기록할 수 있는 마법의 노트와 같습니다.


그림을 그리면 지울 수도, 예전처럼 만들 수도 없는 거 아시죠?


때로는 큰 프로젝트를 진행하면서 이전 버전의 사진을 보고 싶을 때도 있습니다.


원하는 경우 사진의 다양한 버전을 모두 보관하고 돌아가서 볼 수 있습니다.


변경으로 인해 혼란을 겪지 않고 친구들과 같은 그림을 그릴 수 있습니다.


그것은 당신의 작업을 위한 타임캡슐과 같습니다.

비탄

GIT는 특히 프로젝트에서 다른 사람들과 작업할 때 컴퓨터 파일의 변경 사항을 추적하는 도구입니다.


실수로 서로의 변경 사항을 덮어쓰지 않고도 친구들은 동시에 같은 파일에서 작업할 수 있습니다.


GIT에서는 작업의 다양한 버전을 저장할 수도 있으므로 필요한 경우 이전 버전으로 돌아갈 수 있습니다.

대학생

GIT는 분산 버전 관리 시스템입니다.


이를 통해 개발자는 서로의 변경 사항을 방해하지 않고 동일한 코드베이스에서 동시에 작업할 수 있습니다.


고유한 알고리즘을 사용하여 파일의 변경 사항을 추적합니다.


GIT는 코드베이스의 모든 변경 사항에 대한 기록을 유지합니다.


개발자는 독립적으로 작업할 수 있는 능력을 유지하면서 동일한 프로젝트에서 협업할 수 있습니다.


이전 버전의 작업으로 돌아가야 하는 경우 이 도구를 사용하면 작성한 코드를 사용하여 쉽게 작업을 수행할 수 있습니다.


소프트웨어 개발자는 GIT를 널리 사용하며 이를 업계 표준으로 간주합니다.


또한 오픈소스이기 때문에 누구나 무료로 사용할 수 있습니다.

대학원생

GIT를 사용하면 개발자는 시간이 지남에 따라 소스 코드에 대한 변경 사항을 추적할 수 있습니다.


이 도구를 사용하면 동일한 코드베이스에서 여러 개발자가 동시에 공동 작업을 수행하는 동시에 각 개별 개발자가 수행한 모든 변경 사항에 대한 포괄적인 기록을 유지할 수 있습니다.


GIT를 사용하면 쉽게 협업하고, 변경 사항을 롤백하고, 다양한 버전의 코드를 관리할 수 있습니다.


GIT의 일부 주요 기능에는 브랜치를 생성하고 병합하고, 코드베이스에 대한 변경 내역을 보고, 충돌을 처리하는 기능이 포함됩니다.


여러 사람이 동일한 코드를 작업할 때 충돌이 발생합니다.

전문가

GIT는 소프트웨어 개발자가 소스 코드에 대한 변경 사항을 관리하고 추적할 수 있는 분산 버전 제어 시스템입니다.


이는 커밋의 방향성 비순환 그래프 로 구성된 데이터 모델을 기반으로 하며, 각 커밋은 특정 시점의 코드베이스 스냅샷을 나타냅니다.


GIT를 사용하면 한 분기에서 다른 분기로 변경 사항을 쉽게 병합할 수 있는 기능을 통해 코드베이스에 여러 분기가 존재할 수 있습니다.


3방향 병합 알고리즘을 사용하므로 여러 분기의 변경 사항을 병합할 때 발생할 수 있는 충돌을 효율적으로 처리할 수 있습니다.


GIT에서는 커밋하기 전에 스테이징 변경을 허용합니다.


후크를 사용하면 작업을 자동화하고 GIT LFS를 사용하여 대용량 바이너리 파일을 처리할 수 있습니다.


GIT를 사용하면 수많은 로컬 저장소와 원격 저장소 사이를 생성하고 전환할 수 있습니다.

GIT에는 강력한 플러그인 생태계와 다양한 타사 도구가 있습니다.


일부 도구에는 GIT GUI 클라이언트, GIT 호스팅 플랫폼 및 GIT 워크플로우 자동화 도구가 있으며 이를 통해 팀은 필요에 따라 다양한 방식으로 GIT를 사용할 수 있습니다.


GIT에서 사용하는 3방향 병합 알고리즘은 파일의 공통 조상 버전을 현재 분기의 버전 및 병합 중인 분기의 버전과 비교합니다.


이를 통해 GIT는 서로 다른 브랜치에서 변경된 내용을 병합할 때 발생할 수 있는 충돌을 감지하고 처리할 수 있습니다.


3방향 병합 프로세스는 다음과 같이 작동합니다.


  1. GIT는 먼저 병합되는 파일의 공통 상위 버전을 식별합니다. 이는 현재 및 대상 분기가 변경되기 전에 존재했던 파일 버전입니다.


  2. GIT는 파일의 상위 버전을 현재 분기의 버전과 비교합니다. 그런 다음 현재 분기의 모든 변경 사항을 파일의 특수 "현재" 버전에 기록합니다.


  3. GIT는 파일의 상위 버전을 대상 분기의 버전과 비교하고 대상 분기의 모든 변경 사항을 파일의 특수 "대상" 버전에 기록합니다.


  4. GIT는 파일의 공통 조상 버전을 가져와서 현재 버전과 대상 버전에 기록된 변경 사항을 적용합니다. 충돌이 발생하는 경우(예: 현재 분기와 대상 분기 모두에서 동일한 코드 줄이 변경된 경우) GIT는 파일의 최종 버전에서 이러한 충돌을 표시하고 사용자에게 수동으로 해결하라는 메시지를 표시합니다.


이 알고리즘을 사용하여 GIT는 병합 충돌을 효율적으로 관리하고 파일의 최종 버전이 두 분기의 변경 사항이 일관되고 일관되게 통합되도록 보장할 수 있습니다.