(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)

(二)Git在公司中团队内合作和跨团队合作和分支操作的全部流程(一篇就够)https://blog.csdn.net/m0_65992672/article/details/132336481

4.1、简介

我们常常会将自己的代码托管至一些代码管理平台进行托管,比如GithubGitee、或是自己搭建的托管平台等,其中Git就是重要的传输控制工具。在一开始学习git的时候可能大多数小伙伴并没有合作分支相关的概念,只是熟悉git最基本的pullcommitpush。如下图:

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第1张图片Remote是远程仓库,Repository是本地仓库,workspace是自己项目的工作区间,这些基本的概念和基本操作就不多详细解释了,接下来进入重点,我们要加入分支管理合并的概念。 本次示例使用的托管平台为自行部署的平台——Gitlab,全程使用命令方式,不推荐使用任何有关git的GUI工具(tortoise)或是编辑器(idea等)里的git集成工具。

4.2 GitHub服务器

公司中,我们可以搭建中央服务器让项目组开发人员共享代码,但是如果我们的开发人员都是通过互联网进行协作,而不是在同一个地方,那么开发时,程序文件代码的版本管理就显得更加重要,这就需要搭建一个互联网的版本库,让不同地点的人都可以进行访问。这里我们不用自己搭建。因为GitHub网站已经帮助我们提供了共享版本库功能。所以我们接下来就讲解一下,如何使用GitHub网站所提供的功能使用Git。

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第2张图片

4.2.1 注册网站会员

GitHub官网地址:GitHub: Let’s build from here · GitHub

填写你的邮箱地址和密码,姓名

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第3张图片

一顿操作,注册完毕后,进入你的主页

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第4张图片

4.2.2 创建新的仓库

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第5张图片

输入仓库的相关信息

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第6张图片

点击创建按钮,创建新的仓库。

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第7张图片

4.2.3 本地仓库的基本操作指令

# create a new repository on the command line

echo "# git-study" >> README.md

git init

git add README.md

git commit -m "first commit"

git branch -M main

git remote add origin [email protected]:Aitiger-coffee/git-study.git

git push -u origin main

# push an existing repository from the command line

git remote add origin [email protected]:Aitiger-coffee/git-study.git

git branch -M main

git push -u origin main

4.2.4 SSH免密操作

github支持两种同步方式“https”和“ssh”。如果使用https很简单基本不需要配置就可以使用,但是每次提交代码和下载代码时都需要输入用户名和密码。ssh模式比https模式的一个重要好处就是,每次push、pull、fetch等操作时,不用重复填写遍用户名密码。前提是你必须是这个项目的拥有者或者合作者,且配好了ssh key。

4.2.4.1 本地生成SSH密钥

# ssh-keygen -t rsa -C GitHub账号

ssh-keygen -t rsa -C [email protected]

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第8张图片

4.2.4.2 集成用户公钥

执行命令完成后,在window本地用户.ssh目录C:\Users\用户名\.ssh下面生成如下名称的公钥和私钥:

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第9张图片

按照操作步骤,将id_rsa.pub文件内容复制到GitHub仓库中

 (一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第10张图片

点击Add按钮,增加SSH公钥信息

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第11张图片

4.2.5 设定全局用户

git config --global user.name '15811009164'

# 这里的邮箱地址需要为GitHub网站的注册账号

git config --global user.email '[email protected]'

4.2.6 创建本地库以远程地址

# 初始化本地仓库

git init

# 设置远程仓库

git remote add origin [email protected]:Aitiger-coffee/git-study.git

4.2.7 新增,提交本地仓库文件

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第12张图片

4.2.8 推送到GitHub远程仓库

# 推送文件

git push origin master

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第13张图片

4.2.9 查看GitHub远程仓库

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第14张图片

4.2.10 增加合作伙伴

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第15张图片

选择合作账号,发出合作申请

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第16张图片

4.2.11 合作伙伴确认

合作伙伴收到确认后,点击Join按钮继续

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第17张图片

点击Accept Invitation按钮,进行确认

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第18张图片

此时已经可以合作开发了。

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第19张图片

4.2.12 远程仓库fork操作

如果项目存在大量合作伙伴,对于版本库的管理明显是一个特别大的风险,所以如果不想要选择大量的合作伙伴,但依然有人想要对项目代码进行维护,更新和扩展的话,此时,我们就可以使用fork功能。

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第20张图片

点击Create fork按钮即可

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第21张图片

这样就等同于创建了一个自己的远程仓库。但是这个远程仓库等同于是一个分支远程仓库,你可以随便操作,并不会影响源仓库,但是如果你的修改,更新想要融合到源仓库中,就需要提交申请了。

  • 我们这里首先将文件改一下。
  • (一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第22张图片

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第23张图片

  • 发送提交申请
  • (一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第24张图片

 (一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第25张图片

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第26张图片

  • 合并修改请求
  • (一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第27张图片

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第28张图片

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第29张图片

  • 修改请求确认
  • (一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第30张图片

4.3 IDEA集成GitHub

实际的开发中,代码都是采用IDE进行开发,所以我们这里介绍一下IDEA软件是如何集成GitHub远程仓库进行代码版本控制的。这里采用的IDEA版本为2022.2.1,其他版本的IDEA软件会略有差别

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第31张图片

4.3.1 配置Git软件

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第32张图片  

4.3.2 配置GitHub账号

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第33张图片

继续点授权按钮

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第34张图片

继续点击授权按钮

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第35张图片

输入GitHub账号密码

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第36张图片

4.3.3 创建项目

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第37张图片

4.3.4 添加项目代码

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第38张图片

4.3.5 创建本地版本库

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第39张图片

4.3.6 提交本地版本库

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第40张图片

 (一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第41张图片

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第42张图片

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第43张图片

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第44张图片

4.3.7 创建新的远程版本库

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第45张图片

推送前的忽略文件

有些时候我们不想把某些文件纳入远程仓库 中,比如数据库文件,临时文件,设计文件等

在主目录下建立".gitignore"文件,此文件有如下规则:

  1. 忽略文件中的空行或以井号(#)开始的行将会被忽略。

  2. 可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,...})代表可选的字符串等。

  3. 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。

  4. 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。

  5. 如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。

#为注释
*.txt        #忽略所有 .txt结尾的文件,这样的话上传就不会被选中!
!lib.txt     #但lib.txt除外
/temp        #仅忽略项目根目录下的TODO文件,不包括其它目录temp
build/       #忽略build/目录下的所有文件
doc/*.txt    #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

4.3.7 推送到远程版本库

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第46张图片
(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第47张图片

可以推送到gitee、GitHub等第三方远程仓库
(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第48张图片
(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第49张图片

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第50张图片 ​编辑

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第51张图片

4.3.8 查看历史版本

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第52张图片

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第53张图片 (一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第54张图片

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第55张图片

4.3.9 拉取远程库到本地库

比如第一天完成工作推送到远程仓库了,第二天来到工作岗位切记要先 pull 拉取一下远程库的代码,将本地代码更新到最新以后,然后再修改,提交,推送!

右键点击项目,可以将远程仓库的内容 pull 到本地仓库。

(一)Git连接GitHub的全部流程(史上最详细、最全面,啥都有)(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)_第56张图片

4.3.10 分支操作

详细分支操作可看置顶文档

创建一个分支

master -> New Branch

在这里插入图片描述

填写分支名称,Create

在这里插入图片描述

创建分支成功后,会自动切换到创建的分支

在这里插入图片描述

可以看出GitHub上git仓库多了一个分支

在这里插入图片描述

通常情况下,一个项目可能有多个分支,由多个开发人员开发,每个开发者会创建自己的分支,然后将代码合入到主分支

下面我们就来看看,如何将代码合入主分支

第一步 拉取主分支最新代码

因为我们要合入代码到主分支master,所以先拉取master分支的最新代码,防止合入时产生冲突

在这里插入图片描述

选择master分支

在这里插入图片描述

拉完代码可能会有冲突,我们处理完冲突后,切换到master分支

在这里插入图片描述

Git合并分支逻辑

主分支中将分支的代码合入时不需要处理冲突了,因为之前在分支上拉取了主分支代码处理过冲突了,但是在多开发者的共同开发的情况下,这不是一定的,因为在我们将多位开发者的多份代码合入主分支时,如果此时有人提交了的代码和你提交的代码有交集,就有可能导致冲突发生,但这种情况下,概率比较低,一般来说,每个开发者负责的开发任务一般没有交集,即使别人提的代码,很少会影响到你提交的代码,但是如果有冲突,解决一下也可以

一般企业开发中会规定一个统一的合入代码时间,这样,合入代码时就可以专心解决合入中少量的冲突问题(有时甚至没有冲突),而不用关心,合入中途还有新代码的合入(一般也会限制开发者不能直接提代码到主分支,由某人统一合入开发者们申请合入的代码),也就是说合入代码前只拉取一次最新的主分支代码,然后合入各分支代码

下面为合并分支代码的具体步骤

master -> zj -> Merge ‘zj’ into ‘master’

在主分支中将zj分支合并到master主分支中

在这里插入图片描述

在主分支合入完分支代码后,还需要将本地仓代码推送给GitHub,这样以后别人拉取主分支代码时,就是最新的代码了

注:在提交代码时,都要考虑下是否需要先拉取下最新代码,以防产生冲突

将分支推送到远程仓库

 

冲突合并

首先yka分支新增一条数据提交了

现在切换到master

master在同一位置新增一条数据并提交

现在在主分支中把yka分支合并到master分支中

就会出现合并合并冲突

特殊符号:<<<<<<< HEAD 当前分支的代码 ======= 合并过来的代码 >>>>>>> hot-fix

 

 

切换到yka分支中合并主分支

两个分支就一致了

将分支推送到远程仓库

 

亲测有效,直接拿走!!!

你可能感兴趣的:(git,git,github)