Git 분기 및 병합

하나, 마스터 브랜치 마스터

첫째, 코드베이스에는 하나의 메인 브랜치 만 있어야합니다. 사용자에게 제공되는 모든 공식 버전은이 마스터 브랜치에서 릴리스됩니다.
여기에 사진 설명 삽입

기본적으로 Master 라고하는 Git 마스터 브랜치의 이름입니다 . 자동으로 생성되며, 버전 라이브러리가 초기화되면 기본적으로 메인 브랜치에서 개발이 이루어집니다.

둘째, 개발 지점 개발

메인 브랜치는 메이저 버전을 배포하는 데만 사용되며 매일 개발은 다른 브랜치에서 이루어져야합니다. 우리는 개발을위한 브랜치를 개발이라고 부릅니다.
여기에 사진 설명 삽입

이 분기는 코드의 최신 야간 버전 (야간)을 생성하는 데 사용할 수 있습니다. 공식적으로 외부 세계에 릴리스하려면 마스터 브랜치 에서 개발 브랜치 " 병합 " 수 있습니다 .
Git을 사용하여 Develop 브랜치 명령을 생성합니다.

git checkout -b develop master
等同于下面两条:
git branch develop     
git checkout develop

개발 분기를 마스터 분기에 게시하는 명령 :

# 切换到Master分支
git checkout master
# 对Develop分支进行合并
git merge --no-ff develop

-no-ff 매개 변수는 무엇을 의미합니다. 기본적으로 Git은 " Fast Forward formula merged "(빠른 먼 병합)를 수행하고 마스터 분기를 분기 지점 개발에 직접 수행합니다.
여기에 사진 설명 삽입

-No-ff 방법 :
여기에 사진 설명 삽입

세, 임시 지점

저장소의 두 가지 주요 분기 인 마스터와 개발에 대해 언급했습니다. 전자는 공식 출시에 사용되며 후자는 매일 개발에 사용됩니다. 사실, 영구 브랜치는이 두 항목 만 필요하며 다른 항목은 필요하지 않습니다.

그러나 영구 분기 외에도 특정 목적을위한 버전 개발을위한 임시 분기도 있습니다. 임시 분기에는 세 가지 주요 유형이 있습니다.

  • 기능 브랜치
  • 출시 전 브랜치
  • 버그 (fixbug) 분기 수정

이 세 가지 분기는 일시적으로 필요하며 사용 후에는 삭제해야하므로 코드베이스의 영구 분기는 항상 마스터 및 개발 일뿐입니다.

1. 기능성 브랜치

여기에 사진 설명 삽입

기능 브랜치의 이름은 feature- * 형식으로 지정할 수 있습니다.
기능 브랜치를 생성합니다.

git checkout -b feature-x develop

개발이 완료된 후 기능 브랜치를 개발 브랜치에 병합합니다.

git checkout develop
git merge --no-ff feature-x

기능 브랜치를 삭제하십시오.

git branch -d feature-x

2. 프리 릴리즈 브랜치

즉, 공식 버전이 출시되기 전에 (즉, 마스터 브랜치로 병합하기 전에) 테스트를 위해 사전 출시 버전이 필요할 수 있습니다.

프리 릴리즈 브랜치는 Develop 브랜치와 분리되어 있으며 프리 릴리즈 종료 후 Develop 브랜치와 Master 브랜치로 병합되어야합니다. release- * 형식으로 이름을 지정할 수 있습니다.

시험판 브랜치를 만듭니다.

git checkout -b release-1.2 develop

문제가 없는지 확인한 후 마스터 브랜치에 병합합니다.

git checkout master
git merge --no-ff release-1.2
# 对合并生成的新节点,做一个标签
git tag -a 1.2

그런 다음 개발 브랜치에 병합합니다.

git checkout develop
git merge --no-ff release-1.2

마지막으로 출시 전 브랜치를 삭제합니다.

git branch -d release-1.2

일반적인 분기 명령 :

git branch 分支名 // 新建分支
git branch // 查看当前所有分支
git checkout 分支名 // 检出分支
git checkout -b 分支名 // 创建并切换分支
git checkout commitId 文件名(文件路径下的文件名) 还原这个文件到对应的commitId的版本
(例如src/page/attendance/attendanceSum.vue我想把它还原到2个版本之前 首先git log src/page/attendance/attendanceSum.vue找到对应想要还原的版本
复制版本提交的commitID 然后执行git checkout commitID src/page/attendance/attendanceSum.vue
这样就把attendanceSum.vue这个单个文件 还原到了对应版本)
git branch -v // 查看分支以及提交hash值和commit信息
git branch -d 分支名 // 删除分支
git branch -D 分支名 // 强制删除 若没有其他分支合并就删除 d会提示 D不会
git branch -m 旧分支名 新分支名 // 修改分支名
git branch -M 旧分支名 新分支名 // 修改分支名 M强制修改 若与其他分支有冲突也会创建(慎用)
git branch -r // 列出远程分支(远程所有分支名)
git branch -r -d origin/branch-name  //删除远程分支
git branch -a // 查看远程分支(列出远程分支以及本地分支名)
git fetch // 更新remote索引
git push -u origin 分支名 // 将本地分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push 也可解决 git建立远程分支//关联时出现fatal ... upstram的问题

추천

출처blog.csdn.net/weixin_42272869/article/details/113135506