Git基础学习

版本控制概述

-- 代码版本迭代、需要做到新老版本的自动管理,即版本管理器

-- 主流的版本控制工具主要是有Git、SVN等

版本控制分类

1.本地版本控制:

即个人对每个需要记录版本进行快照,或者是记录补丁文件,适合个人使用,如RCS。

2.集中版本控制:(代表-SVN

把所有版本数据都保存在服务器上,协同开发者从服务器上同步更新或者上传自己的修改

多个人向服务器提交版本、并从服务器中获取的最新版本。

但是获取历史版本数据、切换版本需要进行联网访问服务器,且服务器要定期备份

​ 

3.分布式版本控制:(代表-Git

不用联网就能看到所有历史版本。但每个人有全部代码,有安全隐患。

没有中央服务器,去中心化。不会因服务器损坏或者网络问题,造成不能工作的情况。

!下面这个是面试常问到的:Git与SVN的主要区别

Git历史

Git安装

可以使用npm国内镜像下载、会比官网的快一点。

环境变量path可以清理一下之前下载的残留。

在桌面或者其他文件夹内鼠标右键显示更多就能打开命令行工具。

在打开的界面可以使用基本的Linux命令,其打开位置就是命令初始位置

常用Linux命令

关于Git的配置

Git的配置分为系统配置及用户配置

系统配置文件可以在Git安装目录下的Git\etc\gitconfig里面找到

用户配置则是在本机账户下即在C:\User\Mi\.gitconfig文件里可以找到

我们可以在GitBash里面使用命令查看这些配置

查看全部配置 git config -l

查看系统配置 git config --system --list

查看用户配置 git config --global --list

其中最基本的配置需要在用户配置里面添加用户名及邮箱

可以使用命令git config --global user.name "name"设置用户名

然后使用命令git config --global user.email XXXXX@163.com设置邮箱

global -- 全局 的意思

Git工作原理

环境变量只是为了全局使用而已,所以配与不配都可以。

HEAD里面href指向默认为master主分支。

主分支是唯一分支,所以一般不会在这个分支上面操作,一般会有某某人各自的分支。

远程仓库一般是GitHub 、Gitee(码云 这些。

工作流程:

Git项目搭建及克隆

本地仓库搭建

在需要进行搭建仓库的文件目录下执行命令 git init 即可

(会产生一个.git的隐藏文件夹

克隆远程产库

先去Gitee或者说是GitHub那里找想要的项目,然后点击克隆clone或者下载来获取

该项目的url地址,接着在目录下执行命令 git clone [url] 即可下载项目

Git基本操作命令

git add .

表示全部添加到暂存区,注意后面的点表示的即是全部

git commit -m "消息内容"

表示把暂存区的内容全部提交到本地仓库,-m后面跟着的是提示消息

git status [filename]

表示查看文件状态、如未跟踪(未add 、未提交(未commit 等

没有文件名 表示查看目录下所有文件状态

比如说你在idea里面的那个.gitignore文件指定不提交内容可以参考如下设置:

*.class *.log *.lock tmp/ 忽略一些编译文件、日志文件和临时文件

*.jar *.war *.ear target/ 忽略一些打包后的文件

.idea/ *.iml *.ipr *.iws bin/ 忽略idea的一些文件

码云的注册和使用

里面一些项目虽然是开源的,但是如果作者有版权规定的话,商用的违法的。

配置SSH公钥及创建远程仓库

git命令输入 ssh-keygen -t rsa 命令创建,创建后就得到了用户文件夹下的.ssh文件

获得公钥后即可在码云处添加即可。

开源许可证:是否可商用、是否运行转载等。一般用GPL2.0、GPL3.0就够了。

在码云创建完仓库之后, 复制连接克隆到本地即可开始使用。

IDEA集成Git操作

1.idea创建项目。

2.把远程克隆过来的项目里面那些git文件夹直接copy到创建的项目中即可。

3.拷贝完后回到idea会发现右上角多了一些图标!且不同状态文件名是不同颜色。

4.左下会有个Git按钮,打开它就可以看到关于仓库的所有信息了。

5.除了使用图形化界面,也可以使用终端执行命令。

其实使用命令的方式还是比图像界面要快得多的!

多人操作时Git分支处理

不同的开发者可以在不同的分支上进行并行开发,这时它们只修改各自部分。

比如A改A的、B改B的,当A提交时发现B的部分不是最新的时候,

可以直接pull,这时能够对本地内容自动合并、同步,A保留,让B部分变为最新。

当A和B对相同位置修改时,比如A和B同时改了某个全局变量的值

这个时候pull就会出现问题了,分支那里会显示一个合并状态(dev|MERGING

这种时候要A和B进行沟通,取舍其中之一。取舍完后进行add、commit、push即可。

git diff [filename] 查看文件变更内容。

git log --oneline 查看日志。

参考资料及文章中图片来源:

【【狂神说Java】Git最新教程通俗易懂】 https://www.bilibili.com/video/BV1FE411P7B3/?share_source=copy_web&vd_source=3053de44f45b44f8d138c1a0b354d4d7

【push冲突与解决方法,git提交冲突的解决方法,冲突产生的原因,git-pull操作,2023年git最新实用教程】 https://www.bilibili.com/video/BV1BA41117Qb/?share_source=copy_web&vd_source=3053de44f45b44f8d138c1a0b354d4d7 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值