Git에서 두 가지를 병합하는 방법

How Merge Two Branches Git



모든 git 저장소에는 하나 이상의 분기가 있습니다. git 사용자는 서로 다른 주제에 따라 파일과 폴더를 저장하기 위해 서로 다른 분기를 만듭니다. 사용자가 코드를 쉽게 관리할 수 있도록 도와줍니다. 개발 프로세스에서 프로젝트 목적으로 저장소의 다른 분기와 한 분기를 결합해야 하는 경우가 있습니다. ` 자식 병합 ` 명령이 이 작업에 사용됩니다. 이 명령은 병합 분기의 두 커밋 포인터를 검사하여 공통 기본 커밋 명령을 찾고 명령 실행 후 변경 사항을 결합하기 위해 새 병합을 생성합니다. 병합 명령을 실행하기 전에 로컬 및 원격 저장소를 모두 업데이트해야 합니다. 이 튜토리얼에서는 두 개의 분기를 로컬로 병합하는 방법을 보여주었습니다.

Git 병합 옵션

옵션 목적
-저 지르다 병합 후 결과를 커밋하는 데 사용되며 –no-commit을 재정의하는 데 사용할 수 있습니다.
-편집, -e 자동 생성된 병합 메시지를 편집하기 위해 병합을 커밋하기 전에 편집기를 여는 데 사용됩니다.
-ff 병합을 빠르게 해결하는 데 사용됩니다. 즉, 분기 포인터가 병합된 분기를 일치시키는 데 사용되지만 병합 커밋은 생성하지 않습니다.
-안돼 병합의 모든 경우에 병합 커밋을 만드는 데 사용됩니다.
–ff 전용 가능한 경우 빨리 감기로 병합을 해결하는 데 사용됩니다. 그렇지 않으면 병합을 거부하고 0이 아닌 상태로 종료합니다.
– 사인오프 커밋 메시지 끝에 커미터가 서명한 줄을 추가하는 데 사용됩니다.
– 사인오프 없음 라인별 사인오프를 추가하지 않을 때 사용합니다.
-상태 병합이 끝날 때 diffstat를 표시하는 데 사용됩니다.
-n, -no-stat 병합이 끝날 때 diffstat를 표시하지 않는 데 사용됩니다.
-덮어쓰기 무시 병합 결과에서 무시된 파일을 덮어쓰는 데 사용됩니다. 이것이 기본 동작입니다.
-돕다 모든 병합 옵션에 대한 자세한 정보를 얻는 데 사용됩니다.

전제 조건

1. GitHub 데스크톱 설치
GitHub Desktop은 git 사용자가 git 관련 작업을 그래픽으로 수행하는 데 도움이 됩니다. github.com에서 Ubuntu용 이 애플리케이션의 최신 설치 프로그램을 쉽게 다운로드할 수 있습니다. 이 애플리케이션을 사용하려면 다운로드 후 설치 및 구성해야 합니다. Ubuntu에 GitHub Desktop 설치에 대한 자습서를 확인하여 설치 프로세스를 올바르게 알 수도 있습니다.







2. GitHub 계정 생성
이 자습서에서 사용된 명령을 확인하려면 GitHub 계정을 만들어야 합니다.



3. 로컬 및 원격 저장소 생성
로컬 리포지토리의 두 브랜치를 병합하는 데 사용되는 명령을 확인하려면 원격 서버에 게시된 여러 브랜치가 있는 로컬 리포지토리를 사용해야 합니다.



로컬 저장소의 두 분기 병합

다음 명령을 실행하여 이름이 지정된 로컬 리포지토리의 분기 목록을 확인합니다. 업로드 파일 .





$ 자식 분기

다음 출력은 리포지토리에 3개의 분기가 포함되어 있음을 보여줍니다. 기본 현재 지점이 활성화되어 있습니다.



다음 명령을 실행하여 한 분기의 콘텐츠를 다른 분기로 병합합니다. 첫번째 점검 명령은 다음으로 전환됩니다. 주인 나뭇 가지. NS 추가하다 명령은 추가합니다 업로드4.php 저장소에 있는 파일. NS 저 지르다 명령은 커밋 메시지를 추가합니다. 다음으로 두 번째 체크아웃 명령은 기본 나뭇 가지. NS 가다 명령은 내용을 결합합니다 주인 와 지점 기본 나뭇 가지.

$ git 체크아웃 마스터
$ git add upload4.php
$ git commit -m '텍스트 파일을 업로드합니다.'
$ git 체크아웃 메인
$ 자식 병합 마스터

위의 명령을 실행하면 다음 출력이 나타납니다. 업로드4.php 파일이 현재 위치에 있습니다.

만약 주인 브랜치는 컨텐츠를 병합한 후 저장소에 존재할 필요가 없습니다. 기본 지점을 삭제하면 주인 나뭇 가지. 첫 번째 분기 명령은 삭제하기 전에 기존 분기 목록을 표시합니다. 다음과 같은 분기 명령 -NS 옵션이 삭제됩니다 주인 나뭇 가지. 마지막 분기 명령은 삭제 후 기존 분기 목록을 표시합니다.

$ 자식 분기
$ ls
$ git 분기 -d 마스터
$ ls
$ 자식 분기

브랜치를 삭제하면 다음 출력이 나타납니다.

다음 명령을 실행하여 이라는 새 분기를 만듭니다. 온도 , 파일 추가 업로드5.php 커밋 메시지로 작업을 커밋합니다. NS 점검 명령 -NS 옵션은 새 분기를 생성합니다. NS 추가하다 명령은 새 파일을 저장소에 추가합니다. NS 저 지르다 명령은 커밋 메시지와 함께 작업을 커밋합니다.

$ git checkout -b 임시
$ git add upload5.php
$ git commit -m 이미지 파일 업로드

위의 명령을 실행하면 다음 출력이 나타납니다. 업로드5.php 파일이 현재 위치에 있습니다.

다음 명령을 실행하여 현재 분기 목록을 확인하고 임시 분기를 다음과 병합합니다. – 꺼짐 없음 옵션을 삭제하고 온도 더 이상 필요하지 않은 경우 분기합니다.

$ 자식 분기
$ git merge --no-ff 임시
$ git 분기 -d 임시

위의 명령을 실행하면 다음 출력이 나타납니다.

저장소가 열려 있는 경우 깃허브 데스크탑, 그러면 다음 정보가 나타납니다. 저장소의 기록은 이 튜토리얼의 이전 부분에서 터미널에서 git 명령을 실행하여 수행한 모든 작업을 보여줍니다. 두 개의 커밋 메시지와 두 개의 병합 작업이 기록 목록에 표시됩니다. 이 모든 작업은 로컬 저장소에서만 수행되었습니다. 로컬 리포지토리의 새 변경 사항으로 원격 리포지토리의 내용을 업데이트하려면 당기기 원점 버튼 GitHub 데스크탑 .

결론

분기 병합은 git 사용자가 두 분기의 내용을 결합하려는 경우 분기의 ​​유용한 기능입니다. 두 개의 기존 분기를 병합하고 새 분기를 만들어 분기를 병합하는 방법은 이 자습서에서 보여주었습니다. 터미널에 명령을 입력하고 싶지 않다면 GitHub Desktop 애플리케이션을 사용하여 저장소의 두 분기를 병합할 수 있습니다.