반응형

Git 11

Git - 풀 리퀘스트(Pull Requests)

풀 리퀘스트 소개풀 리퀘스트는 쉽게 말해, 다른 사람에게 "내가 수정한 코드를 한번 검토해주세요. 그리고 메인 코드에 합쳐주세요"라고 요청하는 것이라고 생각하면 된다.왜 Pull Request를 사용할까?코드 검토 : 다른 개발자들이 코드를 검토하여 문제점을 미리 발견하고, 코드의 품질을 높일 수 있다.협업 : 여러 개발자가 함께 프로젝트를 진행할 때, 각자의 작업을 효율적으로 통합할 수 있다.변경 이력 추적 : 코드 변경 이력을 상세하게 추적하여 문제 발생 시 원인을 쉽게 파악할 수 있다.Pull Request 과정Fork : 원본 저장소를 복제하여 나만의 저장소를 만든다.Branch 생성 : Fork된 저장소에서 새로운 브랜치를 생성하고, 여기에서 코드를 수정한다.Pull Request 생성 : 수정..

Git 2024.07.27

Git - Rebasing

Git에서 변경 사항 통합하기지금까지 Git에서 변경 사항을 통합하는 방법으로 병합에 초점을 맞춰왔다. 빠른 전방 병합은 타겟 브랜치의 브랜치 포인터를 최신 커밋을 가리키도록 간단하게 이동시키는 반면, 세 가지 방법 병합은 소스 브랜치와 타겟 브랜치의 개발 히스토리를 연결하는 병합 커밋을 생성한다(때로는 병합 충돌을 발생시키기도 함). 일부 팀과 개인은 프로젝트 히스토리가 더 체계적이고 간단하다고 생각하여 선형적인 프로젝트 히스토리를 유지하는 것을 선호한다. 병합과 병합 커밋을 피하고 선형적인 프로젝트 히스토리를 유지하려면 리베이스 프로세스를 사용할 수 있다. 리베이스는 한 브랜치의 커밋에서 수행한 작업을 다른 브랜치에 재적용하여 완전히 새로운 커밋을 생성합니다. 이렇게 하면 원래 커밋과는 완전히 다른 ..

Git 2024.07.27

Git - 병합 충돌(Merge Conflicts)

병합 충돌 소개 이제 같은 파일의 같은 부분을 수정하여 병합 충돌이 발생하는 경우에 대해 알아보자. 이전 글에서 처럼 병합 충돌은 두 브랜치에서 동일한 파일의 같은 부분에 다른 변경 사항이 적용되었거나 한 브랜치에서 삭제된 파일이 다른 브랜치에서 편집된 경우 발생한다. 이러한 경우 Git은 파일을 자동으로 병합할 수 없으므로 수동으로 병합해야 한다.병합 충돌은 병합 과정과 리베이스 과정 모두에서 발생할 수 있다. 병합 충돌은 프로젝트 작업 중에 일반적으로 발생할 수 있는 현상이며, 이러한 상황이 발생했다고 해서 누군가 잘못한 것이 아니다. 병합 충돌을 해결하는 것은 Git 프로젝트 작업의 일부이다.병합 충돌 해결 방법 병합 충돌이 발생하면 충돌이 발생한 파일들 각각에 특수 마커 세트가 표시되며 이 마커는..

Git 2024.07.27

Git - 복제와 가져오기(Cloning and Fetching)

원격 저장소 복제하기 원격 저장소를 복제하는 것은 다른 사람들과 Git 프로젝트에서 협업할 수 있는 필수적인 부분이다. 이를 통해 다른 사람들이 자신의 컴퓨터에서 저장소 사본을 가지고 작업할 수 있다. 접근 권한이 부여된 사람이라면 누구나 원격 저장소를 복제할 수 있다. 예컨데, Book 프로젝트를 처음에는 혼자 작업할 계획이었지만, 나중에 공동 저자와 함께 작업하기로 결정했다고 가정해보자. 공동 저자는 책 작업을 함께 시작하려면 원격 저장소를 복제하여 자신의 컴퓨터에 책 프로젝트 사본을 가져와야 한다. 이를 위해서는 호스팅 서비스에 계정이 있어야 한다. 그런 다음 편집 권한을 부여하여 공동 저자가 댓글을 달고 기여할 수 있도록 해야 한다. 이는 저장소가 공개 또는 비공개인지에 관계없이 필요한 절차이다...

Git 2024.07.27

Git - 원격 저장소(Remote Repository) 생성 및 푸시(Push)

로컬 저장소와 원격 저장소 저장소는 크게 두 가지 유형이 있다. 컴퓨터에 저장되는 로컬 저장소와 호스팅 서비스(Github, Gitlab)에 저장되는 원격 저장소이다. Git 프로젝트를 시작할 때는 로컬 또는 원격 저장소 중 하나에서 시작할 수 있다. 로컬 저장소에서 시작하기 로컬 저장소에서 Git 프로젝트를 시작하려면 먼저 git init 명령어를 사용하여 컴퓨터에 로컬 저장소를 생성하고 최소 하나의 커밋을 만들어야 한다. 그런 다음 호스팅 서비스에 원격 저장소를 생성하고, 마지막으로 로컬 저장소의 데이터를 원격 저장소로 업로드해야한다. Git에서는 로컬 저장소에서 원격 저장소로 데이터를 업로드하는 과정을 push 또는 푸시라고 하며, 이를 위해 사용하는 명령어는 git push있다.git push원격..

Git 2024.07.24

Git - 호스팅 서비스와 원격 리포지토리

지난 글에서 로컬 리포지토리와 원격 리포지토리라는 두 가지 유형의 리포지토리에 대해 설명했다. 로컬 리포지토리는 컴퓨터에 저장되는 반면 원격 리포지토리는 클라우드에 있는 호스팅 서비스에 저장된다. 또한 호스팅 서비스는 Git을 사용하여 프로젝트를 호스팅하는 서비스를 제공하는 회사라고 언급했다. 이 책에서는 세 가지 주요 Git 호스팅 서비스인 GitHub, GitLab, Bitbucket에 대한 정보를 제공한다. 로컬 리포지토리와 호스팅 서비스의 원격 리포지토리 간에 데이터를 전송하려면 SSH 또는 HTTPS를 사용하여 연결 및 인증해야 한다. git push, git clone, git fetch, git pull과 같은 명령어를 사용하여 원격 리포지토리에서 데이터를 업로드 및 다운로드할 수 있다. 이..

Git 2024.07.24

Git - 병합(Merging)

Merging 개요 브랜치는 Git의 강력한 기능이며, 프로젝트의 여러 부분을 독립적으로 작업할 수 있도록 해준다. 하지만 완료되면 만든 변경 사항을 main 브랜치와 결합하는 방법은 무엇일까? Git에서 병합은 한 브랜치의 변경 사항을 다른 브랜치로 통합하는 방법 중 하나이다. 병합에는 병합하는 브랜치(소스 브랜치)와 병합되는 브랜치(타겟 브랜치)가 있다.소스 브랜치: 타겟 브랜치에 통합될 변경 사항이 포함된 브랜치이다.타겟 브랜치: 변경 사항을 받는 브랜치이며, 이 작업에서 유일하게 변경되는 브랜치이다.병합하려는 브랜치로 전환git switch (또는 git checkout) 명령어를 사용하여 브랜치로 전환할 때 발생하는 세 가지 작업을 다시 한 번 살펴보자.전환하려는 브랜치를 가리키도록 HEAD 포..

Git 2024.07.24

Git - 브랜치(Branches)

Git 브랜치란 무엇일까요? Git 브랜치는 소스 코드의 특정 시점을 가리키는 포인터라고 생각하면 쉽다. 마치 책의 펼쳐진 페이지처럼, 현재 작업하고 있는 코드의 상태를 나타낸다. 하나의 프로젝트에서 여러 개의 브랜치를 만들어 각각 다른 기능을 개발하거나 버그를 수정할 수 있다.간단히 말해, Git 브랜치는 코드의 개발 흐름을 분리하여 관리하는 기능이다.브랜치를 사용하는 이유 Git에서 브랜치를 사용하는 특징적인 이유 두 가지를 살펴보기 전에, 왜 브랜치가 유용한지 알아보자.브랜치를 사용하는 이유는 다음과 같다.동일한 프로젝트에서 다른 방식으로 작업하기여러 사람이 동시에 같은 프로젝트에서 작업하도록 지원하기 브랜치는 개발 라인이라고 생각할 수 있다. Git 프로젝트는 여러 개의 브랜치(또는 개발 라인)를..

Git 2024.07.23

Git - 커밋(Commit)

커밋이란 무엇인가? 커밋은 Git에서 프로젝트의 특정 시점 상태를 저장하는 일이다. 마치 사진 촬영처럼, 특정 순간의 프로젝트 모습을 캡처하여 버전 관리 시스템에 기록하는 것이라고 생각하면 된다. 또한, 커밋은 기본적으로 프로젝트의 한 버전을 나타낸다. 프로젝트의 새로운 버전을 저장할 때마다 커밋을 만들 수 있다. 커밋은 중요한 작업을 백업하고 저장하지 않은 작업을 잃어버리는 실망을 방지할 수 있기 때문에 중요하다. 커밋을 만들면 해당 작업이 저장되며, 이 커밋을 통해 프로젝트가 특정 시점에 어떻게 보였는지 확인할 수 있다. 커밋을 언제 만들어야 하는지에 대한 엄격한 규칙은 없다. 이는 혼자 프로젝트를 진행하는지, 다른 사람들과 함께 진행하는지, 그리고 작업하고 있는 프로젝트의 종류(예: 컴파일해야 하는..

Git 2024.07.23

Git - 저장소(Repositories)

Git 저장소 (Repository)란?저장소(Repository, 레포라고 줄여 씀)는 Git으로 버전 관리되는 프로젝트를 말한다. 사실상 저장소에는 두 가지 종류가 있다.로컬 저장소(Local Repository) : 컴퓨터에 저장된 저장소이다. 리모트 저장소(Remote Repository) : 호스팅 서비스에 저장된 저장소이다. 호스팅 서비스는 Git을 사용하는 프로젝트를 위한 호스팅을 제공하는 회사이다. 현재, 주요 호스팅 서비스는 GitHub, GitLab, Bitbucket이다. 로컬 저장소 초기화 로컬 저장소는 프로젝트 디렉토리 내부에 위치하는 .git이라는 숨겨진 디렉토리로 표현된다. 이 디렉토리는 프로젝트 파일들의 변경 사항에 대한 모든 데이터를 포함하고 있다. 프로젝트 디렉토리를 로컬..

Git 2024.07.23
반응형