【学习笔记】Git

Git

版本控制软件:(分布式版本控制)提供客户端工具进行访问,对软件的版本进行保存,提供不同版本文件的比对功能

(原)集中式版本控制,多人协作开发
优:开发者权限可控制,只需要管理一个集中化的版本控制系统
缺:中央服务器的单点故障。若宕机则无法协同工作

(现)分布式版本控制系统解决缺点
断网情况下仍可进行开发(版本控制是在本地进行的)
每个客户端保存的都是完整的项目,也包含历史记录,安全++

历史记录:需要慎重,因为会留痕(无法消除)

Git使用-版本号:

每次操作后都会生成版本号

版本号:SHA-1 40位,基本不可能重复

如何定位仓库中的文件: 2 + 38位 前两位为仓库文件夹名字,后38位为文件名

通过命令行查看文件提交信息:(-p友好地查看文件)

在git仓库根路径下,通过git Bash 输入 git cat-file -p 文件名

git在上传文件的时候会产生三个版本号:提交信息,文件状态,文件内容

分别以不同的版本号命名,存储的是不同文件的文件名,文件内容存储的是文件本体的内容

在这里插入图片描述

在提交信息中,会存储上一次提交的版本/文件名。

在文件状态中,创建会指向最新存储的文件内容与源文件(第一份文件)内容

在文件状态中,更新会指向最新更新的文件内容与源文件(第一份文件)内容
在这里插入图片描述

Git和代码托管中心

远程库:基于网络服务器的远程代码仓库 GitLab(局域网) GitHub(外网) Gitee(码云)

Git常用命令(与Linux命令相通)

在这里插入图片描述

设置用户签名、初始化本地库:必须项,仅用于本地客户端,与项目托管中心额账号没有关联。用于区分不同的操作者,如果不设置用户签名则会在提交代码的时候报错

工作区暂存区命令:可以查看工作区、暂存区的工作文件情况,部分文件时可以存储在工作区 暂存区(可 提交本地库 状态),提交后将会保留历史记录。查看状态时可以从暂存区中删除文件,不影响本地工作区。提交到本地库日志信息可以为 个人设置的版本提示tag

查看版本信息:git reflog:查看简洁信息,版本号为全版本号前七位 。git log:查看完整信息,版本号为完整版本号

查看某文件:cat xxxxx.txt

Git分支(理解:副本)

实际还是指针的指向。

优:分支之间不造成影响,其中一个分支开发失败不影响主线分支

在这里插入图片描述

Git分支常用命令

在这里插入图片描述

合并分支-冲突合并:当俩个分支都对相同的文件进行修改后,合并分支会出现错误(暂停,需要手动合并,选择合适的文件修改之后上传到暂存区保存,再执行提交

Git团队协作(团队内,跨团队)

团内合作为:push上传 pull拉取 clone克隆

跨团队合作:fork 可理解为将对方的代码 创建一个分支 作为副本,后续可以在此副本上进行操作。B开发完成后请求拉取 pull request,由A审核完成后进行merge合并分支

GitHub 远程仓库

在自己的账号下创建个人远程仓库

在这里插入图片描述

邀请本组的其他成员,并把链接发给成员,否则对方无法对代码进行操作
在这里插入图片描述

在这里插入图片描述

Git远程命令

在这里插入图片描述

别名:建议别名与自己的库相同

从远程clone:系统操作 1拉取代码 2初始化本地仓库 3创建别名

fork修改代码:可以clone到本地修改,也可以在网路上选择fork,在自己这新的分支修改,不影响对方的库

SSH免密登录协议:c:/用户/asus 打开GitBash 生成SSH文件(asus自行创建)

$ ssh-keygen -t rsa -C xxxxx@xxx.com -t 指定加密协议,rsa非对称加密协议 -C描述 针对谁制定的加密协议(而后三次回车),可以在.ssh文件夹中创建出公钥和私钥。而后可以在github上进行SSH设置

在这里插入图片描述

忽略规则文件: 建议命名git.ignore ,文件存放位置建议放在目录下。为减少掉IDE工具之间的差异,不需要部署到服务器上则不需要的数据可以被屏蔽掉。编写完ignore文件后需要在.config中配置,配置如下,根据实际地址填写
在这里插入图片描述

IDEA配置Git文件 安装目录:
在这里插入图片描述

记得红色本地库,绿色暂存区,绿色可提交,蓝色修改未追踪。黑色已提交

IDEA集成Git

可在IDEA中查看Git部分,log显示整体路线,可选择想要的路径,右键Checkout Reversion切换到对应版本
在这里插入图片描述

冲突合并 Conflicts:

将其他的分支合并到当前分支下,
在这里插入图片描述

产生冲突合并时,可以选择Merge手动合并冲突,IDEA会将冲突部分高亮标识

例图如下
在这里插入图片描述

IDEA与GitHub

可在setting - Version Control 中连接到GitHub,注意由于网络原因,https很可能无法登录/连接成功,

登录:在GitHub的Setting开发者选项中,申请用户Token,通过Token与IDEA进行连接

代码首次上传分享:可以如图所示方法执行,也可以先在GitHub/Gitee上创建仓库,再直接push
在这里插入图片描述

操作:通常使用SSH进行连接,将GitHub上项目的SSH地址赋值到操作中 、例如(Push)上传到远程库修改SSH地址链接如下
在这里插入图片描述

Push注意点

注意:push是将本地库代码推送到远程库,如果本地代码跟远程库代码版本不一致,需要本地库的版本与远程库相同或更高才行,否则push的操作会被拒绝。 在push代码提交之前,需要先对本地版本进行检查,如果本地代码低于远程版本,则需要pull将代码更新到最新,然后再修改、提交、推送。

IDEA与Gitee码云

Gitee大部分操作与GitHub相同

Gitee可以导入GitHub项目。点击导入已有仓库后,可以输入GitHub的 HTTPS链接,必须是HTTPS链接。

当GitHub上项目更新时,可以点击已导入项目的更新按钮,实现Gitee项目与GitHub项目远程同步。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值