欢迎光临散文网 会员登陆 & 注册

【狂神说Java】Git最新教程通俗易懂

2022-11-09 16:07 作者:突刺刺突刺刺  | 我要投稿

P1 1、前言 之 版本控制

06:12

 

目录

版本控制

聊聊Git历史

git环境配置

git基本理论

git项目搭建

---------------

git文件操作

使用码云

 IDEA中集成git

说明:git分支


版本控制 – 版本迭代 版本控制器

管理文件 修改历史、记录、备份

管理多人协同开发的项目技术

 

功能

      实现跨区域多人协同开发

      追踪和记载一个或多个文件的历史记录

      组织和保护你的源代码和文档

      统计工作量

      并行开发、提高开发效率

      跟踪记录整个软件的开发过程

      减轻开发人员的福安,节省时间,同时降低认为错误

 

P2 2、Git和SVN的区别

07:38

 

本地版本控制

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


 

集中版本控制(集群) SVN

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


所有的版本数据都存在服务器上,用户的本地只有自己以前所同步的版本,如果不联网的化,用户就看不到历史版本,也无法切换版本验证问题,或子啊不同分支工作。而且,所有数据都保存在单一的服务器上,由很大的风险这个服务器会损坏,这样就会丢失所有的数据,可以定期备份。

代表产品:SVN、CVS、VSS

需要定期备份

 

分布式版本控制 Git

每个人都拥有全部的代码 安全隐患

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

不会因为服务器损坏或者网络问题,造成不能工作的情况


 

Git VS SVN

SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用的都是自己的电脑,所有首先要从中央服务器得到最新的版本,然后工作,完成工作后,需要把自己昨晚的活推送到中央服务器。集中版本控制系统是必须联网才能工作,对网络带宽要求较高。

GIT是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上。协同的方法是这样的:比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,两人只需要把各自修改推送给对方,就可以互相看到对方的修改了。

git是目前世界上最先进的分布式版本控制系统。

Git可以直接看到更新了哪些代码和文件

 

 

P3 3、聊聊Git的历史

03:53

 

BitKeeper

 

P4 4、安装Git及环境配置

07:02


下载慢 —— 镜像下载

 

先卸载

环境变量

 

Git Bash:Unix和Linux风格的命令行,使用最多,推荐最多

Git CMD:Windows风格的命令行

Git GUI:图形界面的Git,不建议初学者使用,尽量先熟悉常用命令

 

P5 5、常用的Linux命令

08:06

 

cd 改变目录

cd.. 回退到上一个目录,直接cd进入默认目录

pwd 显示当前所在的目录路径

ls(ll) 都是列出当前目录的所有文件,只不过ll列出的内容更为详细

touch 新建一个文件 如:touch index.js就会在当前目录下新建一个index.js文件

rm 删除一个文件,rm index.js就会把index.js文件删除

mkdir 新建一个目录,就是新建一个文件夹

rm -r 删除一个文件夹,rm -r src删除src目录

mv移动文件,mv index.html src index.html是我们要移动的文件,src是目标文件夹,当然,这样写,必夹在同意目录下

reset 重新初始化终端 / 清屏

clear 清屏

history 查看命令历史

help 帮助

exit 退出

# 注释

 

右键 新建文件夹

在文件夹里打开 Git Bash Here


 

P6 6、Git的必要配置

09:09

 

多有的配置文件都保存在本地

 

$ git config -l

$ git config –system --list

$ git config –golbal --list



配置邮箱地址

$ git config –global user.name “zhangsan”

$ git config –global user.email “zhangsan@qq.com”


 

P7 7、Git的工作原理

07:56

 

Git本地三个工作区域:

Workspace 工作目录(平时放代码的地方)

Index / Stage 暂存区(文件。用于临时存放改动,保存即将提交到文件列表信息)

Repository 资源库(资源。安全存放数据的位置,要提交到所有版本的数据。其中HEAD指向最新放入仓库的版本)

+

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

 

本地的三个区域确切的说应该是git仓库中HEAD 指向的版本

HEAD(隐藏文件)


 Directory:使用git管理的一个目录,也就是一个仓库,包含我们的工作空间和git的管理空间

WorkSpace:需要通过git进行版本控制的目录和文件,这些目录和文件组成了工作空间

.git:存放git管理信息的目录,初始化仓库的时候u自动创建

Index / Stage:暂存区,或叫待提交更新去,在提交进入repo之前,我们可以把所有的更新放在暂存区

Local Repo:本地仓库,一个存放在本地的版本库;HEAD会只是当前的开发分支(branch)

Stash:隐藏,是一个工作状态保存栈,用于保存 / 恢复QorkSpace中的临时状态


Git的工作流程

1 在工作目录中添加、修改文件

UserMapper.xml

2 将需要进行版本管理的文件放入暂存区域

git add .

3 将暂存区域的文件提交到git仓库

git commit


因此,git管理的文件由三种状态

已修改(modified)

已暂存(staged)

已提交(committed)


P8 8、Git项目创建及克隆

05:34

 

命令

pull、fetch / clone、checkout、push、commit、add

 

创建本地仓库的两种方法:

创建全新的仓库

git init

克隆远程仓库 —— Clone


Github

Gitee

 

P9 9、Git的基本操作命令

09:18

 · Untracked:未跟踪,此文件在文件夹中,但并没有加入到git库,不参与版本控制,通过git add状态变为Staged

· Unmodify:文件已经入库,未修改,即版本库中的文件快照内容与文件夹中完全一致,这种类型的文件有两种去处,如果他被修改,而变为Modified。如果使用git rm移除版本库,则称为Untracked文件

· Modified:文件已修改,仅仅是修改,并没有进行其他的操作。这个文件也有两个去处,通过git add可进入暂存Staged状态,使用git checkout,则丢弃修改过,返回到unmodify状态,这个git checkout,即从库中取出文件,覆盖当前修改

· Staged:暂存状态。执行git commit,则将修改同步到库中,这时苦衷的文件和本地文件又变为一致,文件为Unmodify状态,执行git reset HEAD filename,取消暂存,文件状态为Modified


 查看文件的状态

查看指定文件状态

git status [filename]

 查看所有文件状态

git status

添加所有文件到暂存区

git add

提交暂存区中的内容到本地仓库 -m 提交信息

git commit -m "消息内容"


忽略不需要上传的文件

有时不把某些文件纳入版本控制中,如:数据库文件,临时文件,设计文件等

在主目录下建立“.gitignore”文件,此文件由如下规则:

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

2 可以使用Linux通配符。

如:

*(代表任意多个字符)

?(代表一个字符)

[](代表可选字符范围)

{}(代表可选的字符串)

3 如果名称的最前面有一个!,标识例外规则,将不被忽略

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

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


/ 的位置

在前面:往上走

先后面:往下走

 

*.class

*.log

*.lock


# Package Files #

*.jar

*.war

*.ear

target/


# idea

.idea/

*.iml


*velocity.log*


### STS ###

.apt_generated

.factorypath

.springBeans


### IntelliJ IDEA ###

*.iml

*.ipr

*.iws

.idea

.classpath

.project

.settings/

bin/


*.log

tmp/


#rebel

*rebel.xml*

 

P10 10、码云的注册和使用

06:46

 

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

08:25

 

P12 12、IDEA中集成Git操作

12:44

 

1 新建项目,绑定git

      将远程的git文件目录拷贝到项目中


 

2 修改文件,使用IDEA操作git

      提交到暂存区

      Commit提交到本地

      Push到远程仓库


Commit提交信息

提交到本地

不检查 省时间

3 提交测试

 

 

快速提交:

git add .

git commit -m “文件名”

git push


 

P13 13、关于Git中分支说明

11:31

 

Master 主分支

· 新建一个分支,但依然停留在当前分支

git branch [brach -name]

· 新建一个分支,并切换到该分支

git checkout -b [branch]

· 合并指定分支到当前分支

git merge [branch]

· 删除分支

git branch -d [branch-name]

· 删除远程分支

git push origin --delete [branch-name]

git branch -dr [remote/branch]


多个分支如果并行执行,会导致代码不冲突,

即同时存在多个版本

 

master主分支应该非常稳定,用来发布新版本,一般情况下不允许在上面工作,工作一般情况下在新建的dev分支上工作,工作完后,如发布,或dev分支代码稳定后可以合并到主分支master上。

 

P14 14、Git后续操作说明

05:16

 

Gitee页面下的导航栏 —— 用于学习(git命令、git下载)

 

【狂神说Java】Git最新教程通俗易懂的评论 (共 条)

分享到微博请遵守国家法律