리베이스 Git 브랜치

John Wachira 2022년8월23일
리베이스 Git 브랜치

이 튜토리얼에서는 git fetch, git rebasegit push 명령을 사용하여 로컬 브랜치를 원격 마스터 브랜치로 리베이스하기 위해 취할 수 있는 다양한 단계를 다룹니다.

Git에서 로컬 분기를 원격 마스터 분기로 리베이스

  1. 변경 사항 가져오기

git fetch ​​명령을 사용하여 원격 저장소에서 모든 변경 사항을 가져옵니다.

```bash
pc@JOHN MINGW64 ~/Git (Branch1)
$ git fetch
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 610 bytes | 3.00 KiB/s, done.
From https://github.com/Wachira11ke/Delftscopetech
 * [new branch]      main       -> origin/main
```
  1. 변경

분기에 변경 사항을 통합하기 위해 git rebase 명령을 실행합니다. 아래의 예는 메인 브랜치에서 우리의 현재 브랜치를 리베이스할 것입니다.

```bash
pc@JOHN MINGW64 ~/Git (main)
$ git rebase main
Current branch main is up to date.
```

충돌이 발생하면 git add .를 사용하세요. 해결하라는 명령입니다. git add . 다음에 git commit 명령을 실행하지 마십시오. 명령.

충돌을 해결한 후 git rebase --continue를 사용하여 프로세스를 완료합니다. 충돌을 해결한 후 프로세스를 중단하려면 git rebase --abort 명령을 사용하세요.

  1. 변경 사항을 원격 저장소로 푸시

로컬 리포지토리에 콘텐츠를 업로드하려면 아래 그림과 같이 git push -f 명령을 사용합니다.

<!--adsense-->

```bash
git push main HEAD -f
```

-f는 원격 저장소의 다른 개발자가 변경한 사항을 덮어씁니다.

다음은 원격 저장소에 변경 사항을 푸시하는 더 안전한 방법입니다.

```bash
git push --force-with-lease main HEAD
```

이 명령은 원격 저장소의 다른 개발자가 변경한 사항을 덮어쓰지 않습니다.

리베이스 및 병합은 한 분기에서 다른 분기로 변경 사항을 통합하는 데 사용됩니다. Rebase는 분기 기록을 방해하지 않고 기능 분기를 업데이트하는 프로세스로, 더 깨끗한 커밋 기록을 허용합니다.

다른 사람과 공유할 때 충돌하는 분기를 만들 수 있는 git merge의 반대입니다.

작가: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

관련 문장 - Git Rebase