Git介绍

1 Git安装

  1. Git官网:https://git-scm.com/
  2. 安装流程,一直下一步。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装成功后,可以点击Git Bash Here打开Git终端:

在这里插入图片描述

2 Git结构

在这里插入图片描述

3 代码托管中心_本地库和远程库的交互方式

我们已经有了本地库,本地库可以帮我们进行版本控制,为什么还需要代码托管中心呢?

它的任务是帮我们维护远程库,

下面说一下本地库和远程库的交互方式,也分为两种:

3.1 团队内部协作

在这里插入图片描述

3.2 跨团队协作

在这里插入图片描述

4 初始化本地仓库

  1. 创建一个文件夹
  2. 进入文件夹,右键选择Git Bash Here进入Git终端
  3. 进入后可以先对字体和编码进行设置,设置合适的字体大小

在这里插入图片描述

5 本地库与远程交互方式

在这里插入图片描述

6 初始化本地库

在这里插入图片描述

7 创建远程库

  1. 创建远程库
    在这里插入图片描述

  2. 录入信息
    在这里插入图片描述

  3. 完成状态

在这里插入图片描述

8 创建本地远程库的别名

远程库的地址:
在这里插入图片描述
点击进入:
在这里插入图片描述
远程库地址比较长,每次复制比较麻烦

https://github.com/zhaoshanshan3366/GitResp2.git

在Git本地将地址保存,通过别名

查看别名
在这里插入图片描述
起别名:
在这里插入图片描述
在这里插入图片描述

9 推送操作

在这里插入图片描述
推送成功以后,查看自己的远程库

在这里插入图片描述

10 克隆操作

远程库地址复制
在这里插入图片描述
克隆操作
在这里插入图片描述
克隆操作可以帮我们完成:
(1)初始化本地库
(2)将远程库内容完整的克隆到本地
(3)替我们创建远程库的别名:
在这里插入图片描述

11 邀请加入团队,push操作

在这里插入图片描述

  1. 更新本地库信息

在这里插入图片描述
2. push内容到远程库中去

发现可以直接push进去,并没有让我录入账号密码,或者也没有提示错误 - --> 结果 很诡异
原因:git使用的时候在本地有缓存:
将缓存删除:
在这里插入图片描述
3. 现在再次重新push,发现出错了

在这里插入图片描述
必须要加入团队:
登录项目经理的账号,邀请普通成员:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
登录被邀请者的账号,接收邀请:(在地址栏录入邀请链接即可:https://github.com/zhaoshanshan3366/GitResp2/invitations)

在这里插入图片描述

12 远程库修改的拉取操作

  1. 拉取操作 pull操作,相当于 fetch+merge
    在这里插入图片描述
  2. 项目经理先确认远程库内容是否更新了
    在这里插入图片描述
  3. 项目经理进行拉取:
    (1)先是抓取操作:fetch:
    在这里插入图片描述
    在抓取操作执行后,只是将远程库的内容下载到本地,但是工作区中的文件并没有更新。工作区中还是原先的内容:
    在这里插入图片描述
    抓取后可以去远程库看看内容是否正确:

在这里插入图片描述
在这里插入图片描述
然后发现内容都正确,就可以进行合并操作了:
合并之前应该将分支切换回来:
在这里插入图片描述

(2)进行合并:merge:

在这里插入图片描述

  1. 远程库的拉取可以直接利用pull命令来完成:

在这里插入图片描述

fetch+merge操作:—> 为了保险,慎重
pull —>代码简单,省事

13 协同开发合作时冲突的解决办法

  1. 用户A向远程库推送数据:

在这里插入图片描述

  1. 用户B做了一个拉取操作
    在这里插入图片描述
  2. 到这里为止,现在远程合作没有任何问题。
    现在操作同一个文件的同一个位置的时候,就会引起冲突:
    用户B再次做了推送操作
    在这里插入图片描述

用户B改动位置:
在这里插入图片描述
4. 用户A改动Test.txt中内容,然后进行推送:

在这里插入图片描述
发现 推送失败!
在冲突的情况下,先应该拉取下来,然后修改冲突,然后再推送到远程服务器:
先拉取:
在这里插入图片描述
查看冲突:

在这里插入图片描述
人为解决这个冲突:(该删的删,该留的留)

在这里插入图片描述
解决完冲突以后,向服务器推送
在这里插入图片描述
推送:

在这里插入图片描述
解决了冲突问题:

在这里插入图片描述

14 跨团队合作交互方式

在这里插入图片描述

15 跨团队合作

  1. 得到远程库的地址:(从用户A)
    在这里插入图片描述

  2. 进行fork操作:(用户B)
    进入到账号后:复制地址:https://github.com/zhaoshanshan3366/GitResp2.git
    然后点击下面的fork操作:
    在这里插入图片描述

  3. 然后就可以克隆到本地,并且进行修改:(用户B)
    在这里插入图片描述
    然后更改数据:添加到暂存区,然后提交到本地库,然后push到远程库:
    在这里插入图片描述

  4. 进行pull request操作(用户B)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5. 进行审核操作(用户A)

在这里插入图片描述
可以互相留言
在这里插入图片描述
查看具体提交的内容
在这里插入图片描述
确定通过以后,可以进行合并

在这里插入图片描述

16 SSH免密登录操作

  1. 进入用户的主目录中
    在这里插入图片描述
  2. 执行命令,生成一个.ssh的目录
    在这里插入图片描述

keygen — > key generation
注意:C要大写
后面的邮箱,是你的github注册的账号的时候对应的邮箱
三次回车确认默认值即可
在这里插入图片描述
发现在.ssh目录下有两个文件:
在这里插入图片描述
3. 打开id_rad.pub文件,将里面的内容进行复制操作:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCqiZEbHnyAbBFzx/OFWUyxlL2NUyf//1NdmvYfi+x09AENYVDXcPc2CLiUSYpUcRj7eWuLiIBuzYO/0aYTYgSLPMKAKn8WSLipd7S+vqRsxRLZYna+WvfGvYXc6DexenZlgoMzQe7CBE4IaL1eG4IAvAbjXSF0pq7OJKkcb5L8lQ0HlU9p+eC7WluoW+ZThym/Au8lscDtUVE/I9IwAgvUXB4TxmP7aYD1YCrAUuQ+6mlgh+Tqqb4aWyHPIvtXidkWOPS2pZ7zGi+1cQE6UFxxNlIrH5tczmOKOZ2XKemFWMFc4S89O1y9M9pfOFZZ5F4gbQf6PmrbB4eSyYmWT1TH6FBlB9eaw8v8w186qvqbUKHIc450/hZuQ9LehhdHDgkT86uBAEkXBwwHvVsIM61AD7TC0E1uMw0/Cf4I64vZOVF0/pE6rjs+0LqvF/mtq4aM1riIkSKqFFEm5sx2MsCAJrSBTr3uQFufAMA4VmANH6YAtTwgIJtV5AI16XQlY/8= chinazss@126.com
  1. 打开github账号
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  2. 生成密钥以后,就可以正常进行push操作了:
    对ssh远程地址起别名:
    在这里插入图片描述
    展示别名

在这里插入图片描述
创建一个文件

test100.txt

添加到暂存区,提交到本地库,然后push到远程库(地址用的是ssh方式的地址)
在这里插入图片描述
ssh方式好处: 不用每次都进行身份验证
缺陷:只能针对一个账号

17 IDEA集成Git

在这里插入图片描述
本地库的初始化操作

在这里插入图片描述
本地库初始化完成了,生成了.git目录
在这里插入图片描述
添加到暂存区,再提交到本地库操作; add +commit

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

当你更改内容以后,前面跟本地库内容不一致的地方会显示绿色:
在这里插入图片描述

18 本地库与远程库的交互

因为他们是两个不同的项目,要把两个不同的项目合并,git需要添加一句代码,在 git pull 之后,这句代码是在git 2.9.2版本发生的,最新的版本需要添加 --allow-unrelated-histories 告诉 git 允许不相关历史合并。
假如我们的源是origin,分支是master,那么我们需要这样写 git pull origin master --allow-unrelated-histories
这个方法只解决因为两个仓库有不同的开始点,也就是两个仓库没有共同的 commit 出现的无法提交。如果使用本文的方法还无法提交,需要看一下是不是发生了冲突,解决冲突再提交

push推送: git push -u origin master -f
在这里插入图片描述
在这里插入图片描述
到这里 远程库和本地库就可以进行交互了。

在IDEA中进行推送
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一般在开发中先pull操作,再push操作,不会直接进行push操作!!

19 利用IDEA进行克隆项目

在这里插入图片描述
在这里插入图片描述
克隆到本地后:
这个目录既变成了一个本地仓库,又变成了工作空间。

在这里插入图片描述

20 解决冲突

  1. 在你push以后,有冲突的时候提示合并操作
    在这里插入图片描述
    合并

在这里插入图片描述
在这里插入图片描述

21 如果避免冲突

  1. 团队开发的时候避免在一个文件中改代码
  2. 在修改一个文件前,在push之前,先pull操作

参考:以前做的笔记,具体哪一个视频忘记了,如果侵犯到你的权益请联系我

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值