远程操作与多人协作
目录
一、远程操作
1.1.远程仓库
基本操作与分支管理都是本地操作,在自己的笔记本或者计算机上
Git是分布式版本控制系统,可以在多台机器上对仓库进行管理操作
中央服务器仓库称为远程仓库,Github网站为该仓库提供了托管服务

1.2.创建远程仓库
新建仓库



设置仓库信息

向开发者提问

合并申请单

1.3.HTTPS克隆远程仓库


不能在任意一个本地仓库存在的目录下进行克隆

1.4.SSH克隆远程仓库
创建SSH Key
bash
ssh-keygen -t rsa -C "your email"





1.5.向远程仓库推送



1.6.拉取远程仓库

1.7.忽略特殊文件
在Git工作区的根目录下创建一个.gitignore文件

强制添加忽略文件


1.8.配置命令别名
bash
git config --global alias.st status

二、标签管理
2.1.操作标签
给当前版本打上标签


给特定版本打上标签

给标签加上描述

查看标签


2.2.远程标签
将本地标签推送至远程仓库


在本地删除远端仓库标签


三、多人协作1
3.1.准备工作
远程master分支下的file.txt文件新增代码"aaa"、"bbb"
由开发者1新增"aaa",开发者2新增"bbb",在一个分支下协作完成
远程创建分支


在Linux端拉取远程分支

在Windows端拉取分支


3.2.协作开发
新建本地分支并且将本地分支与远程分支建立连接
bash
git checkout -b [dev] [origin/dev]

查看连接

开发者1新增"aaa"

开发者2新增"bbb"
新建本地分支


建立本地分支与远程分支连接

新增"bbb"

提交后发生冲突

先拉取远程仓库

手动删除冲突内容


推送到远程仓库

3.3.分支合并master
方法一:远程合并,提交申请单,经过审查员审核后合并

方法二:本地合并,pull更新master,dev合并master,有冲突在本地dev解决后,master合并dev


删除分支

四、多人协作2
4.1.协作开发1
远程master分支下新增function1和founction2文件
由开发者1新增function1,由开发者2新增function2,在不同分支下协作完成
各种让某一个功能私有某一个分支
开发者1
在本地创建分支

将分支推送远端



开发者2
更新本地仓库版本

在本地创建分支


将分支推送远端


4.2.协作开发2
开发者1
拉取远程仓库,将远程的feature-2分支拉到本地

在本地创建feature-2分支,与远程连接

在feature-2分支中新增内容,推送远程

开发者2
建立分支连接,拉取远程仓库


新增内容,上传到远程仓库


4.3.分支合并master
将feature-2合并到master






feature-1合并到master

更新master分支

将feature-1合并master分支,有冲突在feature-1解决

将合并好后的feature-1推送远程仓库

在远程仓库合并


解决打印已被删除的远程分支问题

五、企业开发

5.1.系统开发环境

5.2.Git分支模型
| 分支 | 名称 | 适用环境 | 核心作用 |
|---|---|---|---|
master |
主分支 | 生产环境 | 永远存放可上线、稳定的生产代码,不直接在这改代码;版本 tag 打在这里 |
release |
预发布分支 | 预发布 / 测试环境 | 从 develop 分出,做上线前集成测试、bug 修复; 测试通过后,合并进 master 和 develop |
develop |
开发分支 | 开发环境 | 所有新功能完成后合并到此,作为开发集成分支; 保存下一版本待发布的代码 |
feature |
需求开发分支 | 本地 | 从 develop 拉取,开发单个新需求 / 新功能;开发自测完成后合并回 develop,然后删除 feature 分支 |
hotfix |
紧急修复分支 | 本地 | 生产环境发现严重 bug,从 master 直接拉分支紧急修复;修复完成,同时合并进 master 和 develop |

5.3.DevOps





在develop分支上创建feature分支

在feature分支上进行任务开发


将feature合并develop



在develop分支上创建release分支,进行测试

将release分支合并master


