Git介绍以及在IDEA中集成Git

Git

简介

Git是一个分布式版本控制工具,使用它有如下作用
1、备份
2、代码还原
3、协同开发
4、追溯问题代码的编写人和编写时间(可以查看修改的内容)

版本控制

版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程,方便查看修改历史记录,备份以便恢复以前的版本等作用的软件工程技术。

版本控制的方式
🌳 本地版本控制

记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人使用,如RCS

🌳 集中式版本控制

版本库是集中存放在中央处理器的,team里每个人work时从中央处理器下载代码,是必须联网才能工作的,局域网或互联网。个人修改后提交到中央版文本库。如:SVNCVS(过时)

🌳分布式版本控制

所有的版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需要在联网时push到相应的服务器或其他用户那里。由于每个用户那里都时所有的版本数据,只要一个用户的设备没有问题就可以恢复所有的数据,但是增加了本地存储的空间,每个用户都拥有全部的代码,有一定的安全隐患。如:Git

Git和SVN最主要的区别

SVN是集中式版本控制系统,版本库是集中放在中央处理器的,而工作的时候用的都是自己的电脑,所以首先要从中央服务器得到最新的版本,在工作完成之后还需要将修改的版本提交到中央处理器,集中式版本控制必须联网才能工作,对网络带宽要求较高。

Git是分布式版本控制系统封,没有服务器,每个人的电脑就是一个完整的版本库,由于版本都在自己的电脑上,所以工作时不需要联网。协同方法如下:
如果自己的电脑上改了文件A, 其他人也在电脑上改了文件A,这时,两人之间是需要把各自修改的推送给对方,就可以互相看到对方的修改了。

分布式版本控制工具(Git)

Git安装

https://blog.csdn.net/qq_42547733/article/details/129956784

如果文中的下在方式比较慢也可以使用镜像的方法:

http://npm.taobao.org/mirrors/git-for-windows/

安装完成之后,我们会在目录中看到以下的图标:

在这里插入图片描述

Git Bash:Unix与Linux风格的命令行,使用最多,推荐最多
Git CMD:Windows风格的命令行
Git GUI:图形界面的Git,不建议初学者使用

常用的Linux命令

cd 				#改变目录
cd.. 			#回退到上一个目录,直接cd进入默认目录
pwd				#显示当前所有的目录路径
ls(ll)			#都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细
touch			#新建一个文件,如touch index.js就会在当前文件目录下新建一个index.js文件
rm 				#删除一个文件,rm index.js就会把文件删除
mkdir 			#新建一个目录,就是新建一个文件夹
rm -r			#删除一个文件加, rm -r src 删除src目录
mv				#移动文件,mv index.html src    index.html是我们要移动的文件,src是目标文件夹,需要保证文件夹在同一目录下
reset			#重新初始化终端/清屏
clear			#清屏
history			#查看命令历史
help			#帮助
exit			#退出

Git配置

设置用户名和邮箱(用户标识,必须要配置)

当你安装Git后首先要做的事情是设置你的用户名称和email地址,这是非常重要的,因为每次Git提交信息都会使用改信息,他被永远的嵌入到你的提交中。

配置命令:

git config --global user.name "你自己的gitee/github名称"
git config --global user.email #你绑定的邮箱

注:

如果你传递了–global选项,就只需要做一次,如果你希望在一个特定的项目中使用不同的名称或email地址,你可以在该项目中运行该命令而不要–global选项。

查看配置
git config -l

在这里插入图片描述

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

在这里插入图片描述

查看本地配置

用户自己配置的东西。

git config --global --list

在这里插入图片描述

Git相关的配置文件

Git\etc\gitConfig:Git安装目录下的gitConfig --system系统级

在这里插入图片描述

C:\用户\登录用户.gitconfig 只适用于当前登录用户的配置 --global全局,这里可以直接编辑配置文件,通过命令设置会影响到这里。

在这里插入图片描述

Git基本理论

工作区域

Git本地有三个区域 工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)。如果在加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件在这四个工作区域之间的转换关系如下:

Working工作区,就是平常存放项目代码的地方
Index/Stage暂存区,用于暂时存放你的改动,事实上它只是一个问文件,保存即将提交到文件列表信息。

在这里插入图片描述

Repository仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本

在这里插入图片描述

Remote远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

工作流程
  1. 在工作目录中添加、修改文件
  2. 将需要进行版本管理的文件放入暂存区域
  3. 将暂存区域中的文件提交到git仓库

Git管理文件的三种状态:已修改(modified)、已暂存(staged)、已提交(committed)。

Git项目搭建

创建工作目录与常见命令
工作目录(WorkSpace)

一般就是你希望Git帮助你管理的文件夹,可以是你项目的目录,也可以是一个空目录,建议不要有中文。

日常使用只要记住下图命令

命令含义
clone(克隆)从远程仓库中克隆代码到本地仓库
checkout(检出)从本地仓库中检出一个仓库然后进行修订
add(添加)在提交前,先将代码提交到暂存区
commit(提交)提交到本地仓库。本地仓库中保存修改的各个历史版本
fetch(抓取)从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少
pull(拉取)从远程仓库拉到本地库,自动进行和并(merge),然后放到工作区,相当于fetch + merge
push(推送)修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库。
本地仓库搭建

创建本地仓库的方法有两种:一种是创建全新的仓库,另一种是克隆远程仓库
创建全新的仓库。

创建全新仓库
  1. 创建全新的仓库,需要使用Git管理的项目的根目录执行

    在这里插入图片描述

  2. 执行后仅仅在项目目录中多出来一个.git目录,关于版本等的信息都在这个目录里面。

    在这里插入图片描述

克隆远程仓库
  • 将远程服务器上的 仓库完全镜像一份至本地。

    在这里插入图片描述

Git文件操作

文件状态

在进行版本控制时,会涉及到以下四种状态:

版本控制:就是对文件版本的控制,要对文件进行修改、提交等操作,我们需要知道文件当前的状态,不然可能会提交了现在还不想提交的文件,或者是要提交的文件没有提交上。

状态含义
Untracked未跟踪,此文件在文件夹中,但并没有加入到git库,不参与版本控制,可以通过git add状态变为Staged.
Unmodify文件已经入库,未修改,即版本库中的文件快照内容与文件夹中完全一致,这种类型的文件有两种去处,如果它被修改而变为Modified,如果使用git rm移出版本库,则成为Untracked文件。
Modified文件已修改,仅仅是修改,并没有进行其他的操作,这个文件也有两个去处,通过git add可以进入staged状态,使用git checkout则丢弃修改过,回到Unmodified状态,这个git checkout即从库中取出文件,覆盖当前修改!
Staged暂存状态,执行git commit则将修改同步到库中,这时库中的文件和本地文件有变为一致,文件为Unmodified状态,执行git reset HEAD filename取消暂存,文件状态为Modified

看着上面的介绍很复杂,但不用太在意,了解就好,后面的操作会使你更加明了。

查看文件状态

#查看指定文件的状态

git status [filename]

#查看所有文件状态

git status

使用码云(Gitee)

1、📕 注册登录码云

在这里插入图片描述

2、📕 设置本机绑定SSH公钥,实现免密码登录

  1. 在本机上找到.ssh 目录, C:\Users\用户.ssh

在这里插入图片描述

这个文件在我们安装了Git之后就存在。

  1. 刚开始的时候时一个空目录,我们可以在该目录下使用ssh-keygen

在这里插入图片描述

-t rsa表示加密算法, -t即指定密钥的类型,密钥的类型有两种,一种是RSA,一种是DSA:

RSA:RSA加密算法是一种非对称加密算法,是由三个麻省理工的牛人弄出来的,RSA是他们三个人姓的开头首字母组合。
DSA:Digital Signature Algorithm 是Schnorr和ElGamal签名算法的变种。

为了让两个linux机器之间使用ssh不需要用户名和密码。所以采用了数字签名RSA或者DSA来完成这个操作。ssh-keygen默认使用rsa密钥,所以不加-t rsa也行,如果你想生成dsa密钥,就需要加参数-t dsa。

生成完成之后,在文件夹下就会有内容:

在这里插入图片描述

3、📕 将公钥信息public key添加到码云账户中

打开图中pub后缀的文件,将里面的内容复制到图中的位置,点击确定,输入密码。

在这里插入图片描述

在SSH公钥数位置可以看到是否添加成功。

在这里插入图片描述

4、📕 使用码云创建一个自己的仓库

在这里插入图片描述

完成其中仓库名称的填写,仓库的私有公有可以在创建完成值后进行修改。

在这里插入图片描述

5、📕 克隆远程仓库到本地

在这里插入图片描述

IDEA中集成Git

1、🚀 新建项目, 绑定Git

在这里插入图片描述

如果以上的步骤全部正确的话,我们在创建完成之后可以看到如下的样式,表示Git绑定成功。

在这里插入图片描述

.gitignore文件,表示我们在commit(在IDEA中直接点击commit, 在控制台上输入git commit -m "说明信息" #表示提交暂存区的内容到本地仓库)的时候需要忽略提交的文件,这样上传的时候就不会上传相关内容,此文件有如下规则
.txt #忽略所有.txt结尾的文件
!lib.txt #但lib.txt除外
/temp #仅忽略项目根目录下的TODO文件,不包括其他目录temp
build/ #忽略build/目录下的所有文件
doc/
.txt #会忽略doc/XX.txt 但是不包括doc/server/arch.txt

2、🚀 提交测试

如果想要手动提交,可以在IDEA控制台上输入git add .(#添加所有文件到暂存区),也可以右击选中文件添加。在这里插入图片描述

3、🚀 将内容推送到远程仓库

(有两种方式可选,一是直接使用IDEA,第二种是使用命令行方式。)

在这里插入图片描述

也可以使用命令行的方式。
在这里插入图片描述

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

Git分支

如果同一个代码在合并分支时都被修改了则会引起冲突,解决的方法是可以修改冲突文件后重新上传,选择要保留的代码版本。

有关Git分支的命令:

命令含义
git branch列出所有本地分支
git branch -r列出所有远程分支
git branch [branch-name]新建一个分支, 但依然停留在当前分支
git checkout -b [branch]新建一个分支, 并切换到该分支
git merge [branch]合并指定分支到当前分支
git branch -d [branch-name]删除分支
git push origin --delete [branch-name]
git branch -dr [remote/branch]
删除远程分支
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值