git rebase는 무엇을 의미합니까?
git rebase의 의미: 브랜치의 저장소 상태를 재정의합니다. 리베이스 작업을 수행할 때 git은 두 브랜치의 공통 조상부터 리베이스할 브랜치의 수정 사항을 추출한 다음 리베이스할 브랜치를 가리킵니다. 기본 브랜치 기본 브랜치의 최신 커밋, 마지막으로 방금 추출한 변경 사항을 기본 브랜치의 최신 커밋 뒤에 적용합니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, Git 버전 2.30.0, Dell G3 컴퓨터.
Git rebase는 이름에서 알 수 있듯이 시작점(베이스)의 역할, 즉 브랜치의 저장소 상태를 재정의하는 것입니다.
1. 제출 노드 다이어그램
먼저 간단한 제출 노드 다이어그램을 통해 리베이스가 무엇을 하는지 느껴봅시다
마스터와 기능 두 가지 브랜치, 여기서 기능은 제출 지점 B의 마스터에서 가져온 브랜치입니다
두 개가 있습니다. master 브랜치에 새로운 커밋 M, 그리고 feature
에 두 개의 새로운 커밋 C와 D가 있습니다. 이때 기능 브랜치로 전환하고 다음 명령을 실행합니다. 이는 마스터 브랜치를 기능 브랜치에 병합하는 것과 동일합니다
git checkout feature git rebase master //这两条命令等价于git rebase master feature
아래 그림은 리베이스를 보여줍니다. 최종 제출 노드 다이어그램은 작동 방식을 설명합니다.
- feature: 변경할 기본 브랜치, 현재 브랜치
- master: 기본 브랜치, 대상 브랜치
공식 설명: 수행할 때 리베이스 작업을 수행하면 git은 두 브랜치의 공통 조상에서 시작하여 변경할 브랜치의 수정 사항을 추출한 다음 변경할 브랜치를 기본 브랜치의 최신 커밋으로 지정하고 마지막으로 방금 추출한 수정 사항을 적용합니다. 기본 브랜치의 최신 커밋 뒷면.
예를 통한 설명: 기능 브랜치에서 git rebase master를 실행하면 git은 master와 featuer의 공통 조상 B부터 시작하여 기능 브랜치의 수정 사항을 추출합니다. 즉, 두 커밋 C와 D가 먼저 추출됩니다. 그런 다음 기능 분기를 마스터 분기의 최신 커밋인 M으로 지정합니다. 마지막으로 추출된 C, D가 M에 연결되는데 이 과정은 원본 C, D를 삭제하고 새로운 C', D'를 생성하는 과정으로, 제출 내용은 동일하지만 커밋 ID가 다릅니다. 특징은 자연스럽게 결국 D'를 가리킵니다.
잘 알려진 설명(중요!): 리베이스는 베이스를 변경하는 것으로 직접적으로 이해될 수 있습니다. 기능 브랜치는 마스터 브랜치의 B에서 가져온 브랜치이며 기능의 기본은 B입니다. 그리고 마스터가 B 이후에 새 커밋을 갖는 경우 마스터의 새 커밋을 기능 분기의 새 기반으로 사용하는 것과 같습니다. 실제 작업은 B 이후의 기능 제출을 저장한 다음 원래 제출을 삭제하고 마스터의 최신 제출 위치를 찾은 다음 저장된 제출(새 커밋 ID가 있는 새 노드)을 연결하여 기본 제출을 수행하는 것입니다. 기능 분기는 원래 B 대신 Yu가 M이 되었습니다.
또한 매우 간단한 설명이 있습니다. rebase 명령의 핵심은 실제로 "기본"을 이해하는 것입니다. git rebase
2. 실제 git 제출 예
제출 레코드는 위 다이어그램에 따라 다음과 같이 구성됩니다. 그림에 표시된 대로: (ABM은 마스터 분기선이고 ABCD는 기능 분기선입니다. 여기서 마스터는 색상을 변경하고 분기합니다. 이는 이해에 영향을 미치지 않습니다. 단지 두 개의 브랜치와 두 개의 라인을 의미한다는 것을 알아두세요!)
이것은 기능 브랜치에서 git rebase master를 실행할 때
리베이스가 완료된 후 ABCD가 원래 기능 브랜치 라인이고 ABMC'D'가 새로운 기능 브랜치입니다. 라인이고 ABM은 마스터 브랜치 라인입니다(변경 없음)
3. 권장 사용 시나리오
할 일이 너무 많지만 사실 이것이 가장 중요합니다. 회사마다, 상황마다 사용 시나리오가 다르지만 대부분의 경우 권장 사항은 다음과 같습니다.
공용 브랜치에서 최신 코드, 즉 git pull -r 또는 git pull --rebase를 가져올 때 rebase를 사용하세요. 하지만 리베이스하는 단점이 있습니다. 이제부터는 베이스가 변경되었기 때문에 현재 브랜치가 어느 브랜치에서 처음으로 당겨졌는지 알 수 없게 됩니다. (merge를 사용하면 "Merge... to..."라는 의미 없는 커밋 기록이 남게 됩니다.)
퍼블릭 브랜치에 코드를 병합할 때는 merge를 사용하세요. (리베이스를 사용하면 다른 개발자가 메인 브랜치의 히스토리를 보고 싶어도 원래 히스토리가 아닐 것입니다. 히스토리는 귀하에 의해 조작되었습니다.)
추천 학습: "Git Tutorial"
위 내용은 git rebase는 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











GIT는 버전 제어 시스템이며 GitHub는 GIT 기반 코드 호스팅 플랫폼입니다. GIT는 코드 버전을 관리하는 데 사용되며 로컬 작업을 지원합니다. GitHub는 문제 추적 및 풀 레크와 같은 온라인 협업 도구를 제공합니다.

Git과 Github도 같은 것이 아닙니다. GIT는 버전 제어 시스템이며 GitHub는 GIT 기반 코드 호스팅 플랫폼입니다. GIT는 코드 버전을 관리하는 데 사용되며 Github은 온라인 협업 환경을 제공합니다.

Github는 배우기가 어렵지 않습니다. 1) 기본 지식 마스터 : GitHub는 코드 변경 및 협업 개발을 추적하는 데 도움이되는 GIT 기반 버전 제어 시스템입니다. 2) 핵심 기능 이해 : 버전 제어는 각 제출, 로컬 작업 지원 및 원격 동기화를 기록합니다. 3) 사용 방법 : 저장소 작성부터 커밋 푸시, 분기 사용 및 요청을 당기는 것까지. 4) 일반적인 문제 해결 : 합병 충돌 및 파일 추가 잊어 버린 것과 같은. 5) 최적화 실습 : 의미있는 제출 메시지를 사용하고, 분기를 정리하고, 프로젝트 보드를 사용하여 작업을 관리합니다. 실습과 커뮤니티 커뮤니케이션을 통해 Github의 학습 곡선은 가파르지 않습니다.

이력서에서는 위치 요구 사항과 개인 경험에 따라 GIT 또는 GitHub를 작성하도록 선택해야합니다. 1. 위치에 GIT 기술이 필요한 경우 git을 강조 표시하십시오. 2. 직위가 커뮤니티 참여를 가치있게 평가하면 Github를 보여주십시오. 3. 사용 경험과 프로젝트 사례를 자세히 설명하고 완전한 문장으로 끝내십시오.

Microsoft는 Git을 소유하지 않지만 Github를 소유하고 있습니다. 1. Git은 2005 년 Linus Torvaz가 만든 분산 버전 제어 시스템입니다. 2. Github는 GIT를 기반으로 한 온라인 코드 호스팅 플랫폼입니다. 2008 년에 설립되어 2018 년 Microsoft에서 인수했습니다.

GIT에서 시작하는 것은 버전 제어 원칙에 대한 깊은 이해에 더 적합하며 GitHub에서 시작하는 것은 협업 및 코드 호스팅에 중점을 두는 데 더 적합합니다. 1. git은 코드 버전 기록을 관리하는 데 도움이되는 분산 버전 제어 시스템입니다. 2. GitHub는 GIT를 기반으로 한 온라인 플랫폼으로 코드 호스팅 및 협업 기능을 제공합니다.

HTML 프로젝트를 관리하기 위해 GitHub를 사용하는 이유는 버전 제어, 협업 개발 및 작품 발표를위한 플랫폼을 제공하기 때문입니다. 특정 단계에는 다음이 포함됩니다. 1. Git 저장소 작성 및 초기화, 2. HTML 파일 추가 및 제출, 3. GitHub에 푸시, 4. GitHubPages를 사용하여 웹 페이지를 배포, 5. GitHubactions를 사용하여 빌드 및 배포를 자동화하십시오. 또한 GitHub은 HTML 프로젝트를 최적화하고 협업하는 데 도움이되는 코드 검토, 문제 및 풀 레크 기능 기능을 지원합니다.

GIT는 개발자가 파일 변경을 추적하고 협력하며 코드 버전을 관리하는 데 도움이되는 오픈 소스 분산 버전 제어 시스템입니다. 핵심 기능에는 1) 레코드 코드 수정, 2) 이전 버전으로의 폴백, 3) 협업 개발 및 4) 병렬 개발을위한 분기 생성 및 관리가 포함됩니다.
