git 3

[Git] 분산 환경에서의 Git - 프로젝트에 기여하기

프로젝트 기여 방식에 영향을 끼치는 변수들활발히 기여하는 개발자의 수선택한 워크플로 종류개발자 접근 권한 부여 방식외부에서 기여 가능 여부커밋 가이드라인 1. 공백문자를 정리하고 커밋하라git diff --checkworking directory와 staging area와 비교git diff --check HEAD특정 커밋을 언급할 경우, 그 커밋과 stating area와 비교 2. 논리적으로 구분되는 변경사항수정사항을 한 주제로 요약할 수 있어야 한다.여러 이슈의 수정을 한 커밋에 담지 않아야 한다.한 파일의 다른 부분을 수정하는 경우git add -patch(-p) 3. 커밋 메시지 자체50자가 넘지 않는 간략한 메시지로 해당 커밋 요약한 라인 비우고 자세한 설명 시작비공개 소규모 팀소스코드가 외부..

컴퓨터/Git 2024.09.21

[Git] 분산 환경에서의 Git 워크플로

중앙집중형 버전 관리 시스템 vs Git중앙집중형 버전 관리 시스템각 개발자는 중앙 저장소를 중심으로 하는 하나의 노드역할만 한다Git개발자가 하나의 노드 역할을 한다또한 중앙 저장소 같은 역할도 가능하다 여기서 다루는 워크플로는 크게 세 가지다.중앙집중식 워크플로Integration-Manager 워크플로Dictator and Lieutenants 워크플로1. 중앙집중식 워크플로이 워크플로는 중앙집중식 버전 관리 시스템에서 사용했던 워크플로다.Git은 중앙집중식이 아니지만, 여전히 이 방식을 사용할 수 있다. 중앙 저장소는 하나 존재한다.개발자들은 하나의 중앙 저장소를 clone하여 사용한다. 중앙 저장소에 로컬 저장소에 반영되지 않은 최신 사항이 있는 경우, 이를 fetch하고 merge한 뒤에야 p..

컴퓨터/Git 2024.09.21

[Git] Git의 내부 구조 (Blob, Tree, Commit)

Git 시스템의 Objects는 3가지이다.- Blob- Tree- Commit(Annotated tag라는 Object가 하나 더 존재하지만, 여기선 다루지 않는다.) 1. Blob Blob은 Binary Large Object의 줄임말로, 어떤 파일의 압축된 데이터이다.파일 시스템의 파일과 다르게, 메타데이터(작성 시간, 작성자 등의 정보)가 없다.Blob의 크기는 원본 파일의 크기와 비례하는 경향이 있다. Git 시스템에선 Objects를 SHA-1 해시를 통해 식별한다. SHA-1 해시는 파일의 내용을 기반으로 40Byte의 문자열을 생성한다.그렇게 생성된 SHA-1 해시의 값으로 각 Objects를 식별한다. git add어떤 파일을 git add 명령을 통해 Stage 하면, 그 파일의 내용을..

컴퓨터/Git 2024.09.16