gti仓库的上传

git

学习目标:

1. 掌握git基本概念
2. 熟练描述git工作流程
3. 熟练使用git常用命令
4. 熟悉git托管服务
5. 熟练使用idea操作git

一、git概述

Git是一个免费的,开源的分布式版本控制系统,能够快速高效的解决小型项目/大型项目团队开发问题。

版本控制是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的系统

1.1 为什么使用版本控制器

git是企业团队开发项目的必用神器。

有了他你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。但额外增加的工作量却是微乎其微。

1.2 版本控制器分类

版本控制器分为两类:一类是集中化的版本控制系统,一类是分布式的版本控制系统

1.2.1 集中化版本控制系统

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TXn8B29i-1682120406487)(./assets/1.png)]

集中化的版本控制系统诸如CVS,SVN以及perforce等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连接到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法,这种做法带来了许多好处,现在,每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌握每个开发者的权限,并且管理一个集中化的版本控制系统;要远比在各个客户端上维护本地数据库来的轻松容易。

事分两面,有好有坏。这么做最显而易见的缺点是中央服务器的单点故障。如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。

1.2.2 分布式版本控制系统

由于上面集中化版本控制系统的那些缺点,于是分布式版本控制系统面世了。

在这类系统中,像Git,BitKeeper等,客户端并不只是提起最新版本的文件快照,而是把代码仓库完整的镜像下来。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TXlYpCdh-1682120406488)(./assets/2.png)]

更进一步,许多这类系统可以指定和若干不同的远端代码仓库进行交互。这样,你就可以在同一个项目中分别和不同工作小组的相互协作。

二、git的下载与安装

2.1 git下载

git官网:http://git-scm.com/

访问官网点击下载

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7F0I7MsO-1682120406490)(./assets/3.png)]

2.2 git 安装

【1】点击安装包

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pJtdw1By-1682120406491)(./assets/4.png)]

【2】 下一步… 这里勾选第二个, 使用git编辑器操作

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IqwAcXW7-1682120406493)(./assets/5.png)]

【3】都不选,点击完成

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KC9eaJdi-1682120406495)(./assets/6.png)]

【4】打开Git Bash,查看版本信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E2Vxmf0C-1682120406496)(./assets/12.png)]

三、git 工作流程

3.1 git本地库结构

git的本地库结构如下

  • 工作区:写代码的地方
  • 暂存区:暂时存储
  • 本地仓库:本地存储代码的地方

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4290gM05-1682120406498)(./assets/7.png)]

3.2 git 团队内部协作

git团队内部协作过程如下:

  1. 项目经理创建本地项目并初始化本地库
  2. 项目经理创建空的远程库,将本地库项目push到远程库
  3. 程序员将代码克隆到本地库
  4. 程序员加入团队,编写代码,将自己编写的代码推送到远程库
  5. 项目经理把远程库代码拉取到本地库查看进度

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p47G3aeV-1682120406499)(./assets/8.png)]

3.3 git跨团队协作

git跨团队协作过程如下:

  1. B公司将代码fork到自己公司的远程库
  2. B公司进行内部开发
  3. B公司将开发好的代码向A公司发起拉取请求 pull request
  4. A公司审核B公司代码,审核通过合并代码 merge

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9ZLEMrZz-1682120406501)(./assets/9.png)]

3.4 托管中心

代码托管的服务器叫做托管中心,托管中心分为两种,如下:

  • 局域网环境下:可以搭建GitLab服务器作为代码托管中心,GitLab可以自己区搭建。
  • 外网环境下:可以由GitHub或者Gitee作为代码托管中心,GitHub或者Gitee是现成的托管中心,不用自己区搭建。

3.5 小结

  1. 本地库结构
  2. 团队内部协作
  3. 跨团队协作

四、本地库操作

在使用git命令的时候,我们会用到一些linux命令,如下:

  • ls/ll 查看当前目录
  • cd 切换目录命令
  • mkdir 目录名字 创建目录
  • touch 文件名字 创建文件

4.1 基本配置

在使用git之前需要配置用户信息

【1】打开Git Bash,设置用户信息:用户名和邮箱

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oVdulCCh-1682120406503)(./assets/10.png)]

【2】查看用户信息,用户名、邮箱

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hqOmV44K-1682120406504)(./assets/11.png)]

4.2 初始化本地库

【1】创建一个文件夹

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iERIVTGW-1682120406506)(./assets/13.png)]

【2】打开Git终端:Git Bash Here: 进入以先对字体和编码进行设置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0zLYXBro-1682120406507)(./assets/14.png)]

【3】进入到git-repository目录,本地仓库初始化

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3CFAltyr-1682120406508)(./assets/15.png)]

最终结果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cf6GHpWU-1682120406510)(./assets/16.png)]

注意:.git隐藏目录不要删除不要修改

4.3 git 常用命令

4.3.1 status、add、commit命令

【1】在 git-repository目录中创建一个文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2Zxw1Vbj-1682120406511)(./assets/17.png)]

【2】查看该文件的状态,输入命令:git status 胖叔讲java.txt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QSICipjt-1682120406512)(./assets/18.png)]

【3】将文件添加到暂存区,并查看状态;输入命令 git add 胖叔讲java.txt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EQ4Nq6Yr-1682120406515)(./assets/19.png)]

【4】将文件提交到本地库,并查看状态;输入命令 git commit -m ‘提交一个文件’ 胖叔讲java.txt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FUAS7nF3-1682120406516)(./assets/20.png)]

4.3.2 查看日志信息

日志命令:git reflog

示例

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oUjpzDqC-1682120406517)(./assets/21.png)]

4.3.3 文件/文件内容的增删改

不管是文件的增删改,还是文件内容的增删改操作过程都是一样的;过程如下:

  1. 操作文件/操作文件内容

  2. 将文件add到暂存区

  3. 将文件暂存区代码commit提交到本地库

示例:删除本地库的 胖叔讲java.txt

【1】删除文件 胖叔讲java.txt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A13lozNS-1682120406519)(./assets/22.png)]

【2】将删除文件过程添加到暂存区,查看状态

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JLUNyrbB-1682120406520)(./assets/23.png)]

【3】将删除文件过程提交到本地库,查看状态,日志

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BHr2FvDI-1682120406521)(./assets/24.png)]

4.3.4 版本回退

切换版本的命令 git reset --hard commitID

示例:恢复已经删除的文件

【1】查看 添加文件的commitID

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EsmEaAa3-1682120406523)(./assets/25.png)]

【2】回退到该版本

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2p39PZTY-1682120406524)(./assets/26.png)]

4.4 分支操作

在版本控制过程中,使用多条线同时推进多个任务。这里面说的多条线,就是多个分支。

项目实战开发中,分支过程如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dhMqKd3z-1682120406525)(./assets/27.png)]

上面版本号对应意思

  • **Master分支:**用于版本发布,每一个节点都应该是可发布版本;每次合并到master时,都应添加tag标签作为版本号;严禁从develop分支或feature分支直接合并到master分支;
  • **Develop分支:**作为开发的主分支始终存在;当有功能分支完成,应尽早合并到release分支。
  • **Release分支:**发布新版本前的准备分支,从develop分支创建,创建后develop的更新不再合并到此release分支中, 该分枝只进行bug修复和文档修改,待版本稳定后,将该分支合并到master和develop分支,并删除该分支;
  • **Feature分支:**功能开发分支,从develop分支创建,主要是在本地开发使用的分支,开发周期不宜过长,应尽早处理与服务器的冲突;功能完成后,合并到develop分支,并删除该分支;当存在比较独立或长期或容易与其他任务产生大的冲突的任务,建议check出feature分支,独立开发
  • **Hotfix分支:**生产环境紧急bug修复分支,从master分支创建,完成bug修改后,合并到master和develop分支,并删除该分支;

4.4.1 查看分支

命令:git branch

示例:查看所有分支

在这里插入图片描述

4.4.2 创建分支

命令:git branch 分支名

示例:创建分支并查看

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CNJ585ua-1682120406528)(./assets/29.png)]

4.4.3 切换分支

命令:git checkout 分支名

示例:切换至branch01分支,并查看

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g9wRxPwL-1682120406529)(./assets/30.png)]

4.4.4 合并分支

命令:git merge 分支名称

注意: 将分支合并到哪个分支就要切换到哪个分支,如 git merge branch01 ,将branch01 合并到主分支master中,就要先切换到master分支

示例: 在branch01分支写代码,提交到本地库;接着切换到master分支,查看master分支代码,确认两个分支确实在 并行执行开发任务,互不影响;然后将branch01分支代码合并到master分支

【1】在branch01分支写代码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gHS2WsqT-1682120406531)(./assets/31.png)]

【2】将代码提交到本地库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N9Mf71jK-1682120406533)(./assets/32.png)]

【3】切换到master分支,查看master分支代码

ww

在这里插入图片描述

我们发现branch01分支的代码并没有影响master分支代码。

【4】将branch01分支代码合并到master分支

将branch01分支合并到主分支,就必须先保证当前分支是master分支。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RFC1UlcM-1682120406536)(./assets/35.png)]

4.4.5 解决冲突

示例:在master分支写代码,提交到本地库;接着切换到branch01分支写代码提交到本地库;然后将branch01分支代码合并到master分支,解决冲突,并完成合并。

【1】在master分支写代码,提交到本地库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BbhQV4GS-1682120406538)(./assets/36.png)]

【2】切换至branch01分支写代码提交到本地库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6taA2GTg-1682120406539)(./assets/37.png)]

【3】切换到master分支,将branch01分支代码合并到master分支,并解决冲突

切换master分支,将branch01分支代码合并到主分支

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gwnv4KDA-1682120406541)(./assets/38.png)]

接下来,查看文件内容,解决冲突

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P2mqZA7C-1682120406542)(./assets/39.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c2zz33BS-1682120406543)(./assets/40.png)]

最后,将解决完冲突的代码提交到本地库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UTpbkZiv-1682120406544)(./assets/41.png)]

4.4.6 删除分支

不能删除当前分支,只能删除其他分支

命令1:git branch -d 分支名字 删除分支时,需要做各种检查

命令2:git branch -D 分支名字 不做任何检查,强制删除

示例:删除branch01分支,并查看

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ly4gcTCr-1682120406545)(./assets/42.png)]

4.5 小节

  1. 本地库操作 git add → git commit
  2. 状态 git status
  3. 日志 git reflog
  4. 版本回退 git reset --hard commitID
  5. 分支
    1. 查看 git branch
    2. 创建 git branch 分支名字
    3. 切换 git checkout 分支名字
    4. 合并分支 git merge 分支名字

五、远程库操作

本章讲解本地库与远程库之间的操作。

5.1 托管中心介绍

前面我们已经知道了Git中存在两种类型的仓库,即本地仓库和远程仓库。那么我们如何搭建Git远程仓库呢?我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等。

gitHub( 地址:https://github.com/ )是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名gitHub

码云(地址: https://gitee.com/ )是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快

GitLab (地址: https://about.gitlab.com/ )是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务,一般用于在企业、学校等内部网络搭建git私服。

5.2 注册码云账号

想用使用码云搭建远程仓库,首先要注册一个码云账号;访问官网https://gitee.com/ ,注册账号

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-72UKsutj-1682120406547)(./assets/43.png)]

注意:一定要完善账号的所有信息,今后我们到工作岗位中会长期使用这个账号。

5.3 创建远程库

接下来创建远程库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iMUS3QhU-1682120406547)(./assets/44.png)]

选择SSH连接远程库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dEmb8pCv-1682120406549)(./assets/45.png)]

5.4 配置SSH公钥

使用SSH公钥连接的底层原理如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VFYGpjBa-1682120406550)(./assets/46.png)]

配置过程如下:

【1】通过命令ssh-keygen -t rsa 生成 公钥和私钥

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JRIVNOvl-1682120406551)(./assets/47.png)]

【2】进入C:\Users\Administrator\.ssh目录查看公钥和私钥

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i5ZlR8JY-1682120406552)(./assets/48.png)]

【3】将公钥配置到gitee

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oM2sMuTQ-1682120406553)(./assets/49.png)]

【4】输入命令:ssh -T git@gitee.com ,测试公钥是否配置成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cULKZiJP-1682120406555)(./assets/50.png)]

5.5 远程库操作

5.5.1 添加远程库

命令: git remote add <远端名称> <仓库路径>

远端名称,默认是origin,取决于远端服务器设置

仓库路径,从远端服务器获取此URL

示例:参考官网文档,添加远程库

【1】查看官方提示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WvsF00Qo-1682120406556)(./assets/51.png)]

【2】创建本地库,并完成初始化

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VEZmNuYB-1682120406557)(./assets/52.png)]

【3】创建一个文件提交到本地库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9iRpxLzC-1682120406558)(./assets/53.png)]

【4】添加远程库连接

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mQqXMqdZ-1682120406560)(./assets/54.png)]

5.5.2 查看远程库

命令:git remote

示例:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-imxy8ysb-1682120406561)(./assets/55.png)]

5.5.3 推送远程库

命令:git push [-f][-u] [远端名称 [本地分支名][:远端分支名] ]

  • 如果远程分支名和本地分支名称相同,则可以只写本地分支 git push origin master
  • -f 表示强制覆盖
  • -u 推送到远端的同时并且建立起和远端分支的关联关系。如果当前分支已经和远端分支关联,则可以省略分支名和远端名。

示例:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EJMsR9dk-1682120406562)(./assets/56.png)]

查看:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FXiz4mYI-1682120406563)(./assets/57.png)]

示例2:修改文件 ,将修改后的文件推送到远程库

先修改文件内容,内容任意,在提交本地库,在推送

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7bSzTUqo-1682120406565)(./assets/58.png)]

5.5.4 从远程库克隆

命令: git clone <仓库路径> [本地目录] ;本地目录可以省略,会自动生成一个目录

示例:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XPBCTugI-1682120406566)(./assets/59.png)]

注意:克隆的git-test1要和之前的git-test1不在同一目录,否则不便后边的操作

5.5.5 从远程库拉取

拉取 命令:git pull [remote name][branch name] ; 拉取指令就是将远端仓库的修改拉到本地并自动进行合并。

如果本地分支名字和远程分支名字一样,可以省略不写

示例1:本地库1添加内容推送到远程库,克隆后的本地库2从远程库拉取内容到本地库

【1】本地库1添加内容推送到远程库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ApJYfuCL-1682120406567)(./assets/60.png)]

【2】将远程库的内容拉取到本地库2(克隆后的本地库)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sqpIKkE4-1682120406569)(./assets/61.png)]

5.5.6 解决冲突

在一段时间,本地库1、本地库2修改了同一个文件,且修改了同一行位置的代码,此时会发生合并冲突 。

示例:本地库1在README.md文件中追加内容本地库1,本地库2在README.md文件中追加内容本地库2,然后解决冲突

【1】本地库1 推送远程库内容

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fCacIo5M-1682120406570)(./assets/62.png)]

【2】本地库2 推送远程库内容

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qwv33Js3-1682120406571)(./assets/63.png)]

【3】解决冲突,先把远程库内容拉取到本地,在推送

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FdVvTJVe-1682120406573)(./assets/64.png)]

5.6 小结

  1. 添加远程库
  2. 推送远程库
  3. 克隆远程库
  4. 拉取远程库
  5. 解决冲突问题

六、VSCode集成git

6.1 VSCode集成git

1)打开设置面板,搜索gitpath,打开setting.json

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d0PUMZBL-1682120406574)(./assets/100.png)]

2)在setting.json配置git的路径

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XVmoOd8p-1682120406575)(./assets/99.png)]

6.2 在终端输入命令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dqcO5gUP-1682120406577)(./assets/101.png)]

七、idea集成git操作

7.1 idea集成git

打开setting设置,设置git安装路径并测试

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BEiukTbS-1682120406578)(./assets/65.png)]

7.2 idea 本地库操作

接下来,我们通过idea创建一个项目,并完成该项目的本地仓库初始化、添加暂存区、提交本地库等操作

7.2.1 将项目提交到本地库

【1】创建idea项目git-demo2

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X3au4Src-1682120406579)(./assets/66.png)]

【2】将项目初始化为本地库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CrFmYmBS-1682120406581)(./assets/67.png)]

然后检查项目

在这里插入图片描述

【3】将项目代码添加到暂存区

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-irZnX1aW-1682120406591)(./assets/69.png)]

【4】将暂存区代码提交到本地库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-drVmrdgN-1682120406594)(./assets/70.png)]

7.2.2 回退历史代码操作

示例:修改代码,提交到本地库,然后在回退到初始化版本

【1】添加内容,提交到本地库

添加内容

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QuUA8veY-1682120406596)(./assets/71.png)]

然后,添加到暂存区,本地库;注意:只改了一个文件,只选中一个文件进行add→commit操作

【2】查看历史版本,回退到项目初始化版本

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AwKwZJGX-1682120406599)(./assets/72.png)]

选择要回退的版本,点击get[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uyZWV9E5-1682120406600)(./assets/73.png)]

7.2.3 分支操作

分支操作包含查看分支、创建分支、切换分支、合并分支、删除分支等内容;操作如下

【1】创建分支

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XAkMxtaW-1682120406611)(./assets/74.png)]

【2】查看所有分支

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jkk40LFj-1682120406615)(./assets/75.png)]

【3】切换指定分支

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y8wykows-1682120406619)(./assets/76.png)]

【4】合并分支:在branch01分支编写代码并提交,最后合并到master分支

在branch01分支编写代码并提交,过程略,结果如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zfVi4ql2-1682120406621)(./assets/77.png)]

切换到master分支,将branch01分支代码合并到master分支

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-puuCA3aa-1682120406624)(./assets/78.png)]

点击master分支项目合并

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mxbIu1Jd-1682120406627)(./assets/79.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zi9GxivA-1682120406628)(./assets/80.png)]

【5】删除分支

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rINK9TRM-1682120406632)(./assets/81.png)]

【6】解决分支冲突

思路:在主分支和branch01分支在同一个类编写一些不同的代码并提交到本地库,最后将branch01分支代码合并到主分支,并解决冲突

首先,在master分支和branch01分支都编写一些代码并提交到本地库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LSBm31Qo-1682120406635)(./assets/82.png)]

接着,切换主分支,将branch01分支代码合并到主分支

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CsDa3cgW-1682120406639)(./assets/84.png)]

解决冲突

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aV2pEmL0-1682120406650)(./assets/85.png)]

最后添加暂存区,并提交,过程略。

7.3 idea 远程库操作

7.3.1 推送远程库

【1】创建空的远程库,库的名字就是本地项目的名字,保持一样

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l71OAEhG-1682120406656)(./assets/86.png)]

【2】将本地库推送到远程库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t9r7DcRe-1682120406658)(./assets/87.png)]

设置远程库路径,并推送项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ij9ED8q3-1682120406660)(./assets/88.png)]

7.3.2 克隆项目到本地

刚才已经把项目推送到了远程库,接下来,我们用另一个gitee账号进行项目克隆,模拟团队开发。

【1】创建另一个账号,配置用户信息,配置SSH公钥

创建账号过程略,接下来配置用户信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cv3f876C-1682120406663)(./assets/90.png)]

删除本地原来的公钥和私钥,过程略

配置新的私钥和公钥

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7gi2L4aq-1682120406664)(./assets/47.png)]

将公钥配置到新的账号

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f0GYU0BJ-1682120406666)(./assets/91.png)]

【2】将新创建的账号加入到项目开发员中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IbAESeOW-1682120406668)(./assets/92.png)]

【3】查看新账号,查看加入的项目,并克隆到本地

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q89WDpPz-1682120406671)(./assets/93.png)]

重启idea 克隆项目到本地, 此时的项目是开发员测试号克隆的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ejLKa8RS-1682120406674)(./assets/89.png)]

7.3.3 将编写代码推送远程库

【1】编写代码,提交本地库,推送远程库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WBoaZAl1-1682120406675)(./assets/94.png)]

提交本地库过程略,最后推送

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WZ4OiQ8j-1682120406677)(./assets/95.png)]

最终结果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w1kUvmhX-1682120406680)(assets/96.png)]

7.3.4 将项目代码拉取到本地

将账号信息重置为老账号,并拉取项目

【1】重置账号信息,重设置SSH公钥和私钥,过程略

【2】拉取项目到本地

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jvvxc9nr-1682120406681)(assets/97.png)]

7.3.5 团队开发解决冲突

思路:

  1. A同学创建项目推送到远程库,然后在项目中加入B同学
  2. B同学将项目克隆到本地
  3. A同学和B同时编写项目中的同一个类,同一个方法
  4. 提交代码解决冲突

根据提示思路自己实现

结论:建议每次向远程库push推送代码时,先做pull拉取动作,这样可以大大降低代码冲突问题。

7.4 小结

  1. 本地库操作 add → commit
  2. 远程库操作 push推送、clone克隆、pull拉取、branch分支

八、跨团队协作

跨团队协作开发的大部分内容过程已经讲过,如下所示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S97e1wnm-1682120406685)(./assets/9.png)]

我们只有fork开源项目、pull request 请求拉起, 以及审核操作没有讲,接下来我们演示这些操作。

示例:跨团队开发

实现思路:

  1. 使用账号A创建一个开源项目
  2. 使用账号BFork开源项目
  3. 使用账号B 开发项目一些代码
  4. 账号B发起拉取请求操作
  5. 账号A审阅账号B的拉取请求,审阅通过,合并代码。

提示:

  1. 项目必须开源
  2. fork与pull request

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uMYIbiic-1682120406687)(./assets/98.png)]

九、总结

  1. 本地库操作 add → commit
  2. 远程库操作 push推送、clone克隆、pull拉取、branch分支
  3. 跨团队操作 fork 、pull request
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加菲猫���

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值