目录
版本控制器 – Git
集中版本控制 – SVN
分布式版本控制 – Git
1、Git 和 SVN 的区别
2、Git 的卸载和安装
2-1:Git 卸载
1、先查下原本的Git版本
我原本的git版本是 2.41 ,现在想安装最新版本的git。
2、删除环境变量
先把git的环境变量删除掉
3、控制面板卸载 Git
2-2:Git 下载安装
1、官网下载
如果官网下载太慢,可以用国内的镜像网站下载。
用小梯子下载也很快。
2、详细安装步骤
除了修改安装路径,其他都是默认下一步即可。
3、安装成功展示
可以看到安装成功了,环境变量里面已经自动添加了 git 的环境变量。
bin 目录
桌面右键,可以看到有这两个东西了。
Git Bash :Unix 与 Linux 风格的命令行,使用最多,推荐最多。
Git GUI :图形界面的 Git。
3、Git 基础知识
3-1:基本的 Linux 命令
1、cd :改变目录
随便在一个文件夹右键打开后,目录就会显示当前位置。
2、pwd:显示当前目录路径
3、clear 清屏
4、ls 列出当前目录中的所有文件,lls 则更为详细
5、touch :新建一个文件
在当前目录下新建一个文件
6、rm 删除一个文件
只能删除文件,无法删除文件夹
7、mkdir : 新建一个目录(文件夹)
8、rm - r :删除一个文件夹
9、mv :移动文件
注意点:在操作命令的时候,当前位置是在 workspace 目录下,那么要移动的 test 文件夹和 ljh.js 文件 必须处于同一个目录下(workspace文件夹里面)才能成功。
测试:
10、history 查看历史命令
如图,这些命令是很久之前弄的,也显示出来了。
11、reset 重新初始化终端(和 clear差不多)
12、help 帮助
13、# 表示注释
14、exit 退出
直接就退出这个 git 软件了。
3-2:Git 环境配置
1、查看配置 git config -l
2、查看系统 config
命令:git config --system --list
3、查看当前用户(global)配置
git config --global --list
4、配置姓名和邮箱:
3-3:Git 的核心理论
1、工作区域
Git 本地有三个工作区域:
工作目录(Working Directory)、暂存区(Stage / Index)、资源库(本地仓库 --> Repository 或 Git Directory)。
然后再加上远程的 Git 仓库(Remote Directory),就可以算是分为 四个工作区域。
如图:本地的三个区域确切的说应该是 git 仓库中 HEAD 指向的版本:
2、工作流程
4、Git 项目搭建
4-1、创建工作目录与常用命令
工作目录(WorkSpace)一般就是Git帮助我们管理的文件夹,可以是我们自己项目的目录,也可以是一个空目录,建议不要有中文。
日常使用的命令如下:
4-2:本地仓库搭建
创建本地仓库的方法有两种:一种是创建全新的仓库,另一种是克隆远程仓库。
1、创建全新的仓库
1、创建全新的仓库,需要用GIT管理的项目的根目录执行:
# 在当前目录新建一个Git代码库
$ git init
2、执行后可以看到,仅仅在项目目录多出了一个.git目录,关于版本等的所有信息都在这个目录里面。
2、到 gitee 远程仓库克隆代码
1、另一种方式是克隆远程目录,由于是将远程服务器上的仓库完全镜像一份至本地!
# 克隆一个项目和它的整个代码历史(版本信息)
$ git clone [url] # https://gitee.com/lu-jh-jh/my-custom-starter.git
2、去 gitee 或者 github 上克隆一个测试!
5、Git 文件操作
5-1:文件的 4 种状态
5-2:查看文件状态–命令演示
1、我先在 【ljh】 这个文件夹里面初始化一个全新的仓库出来,然后查看 【git status】 查看状态
2、然后在【ljh】文件夹里面创建一个【hello.txt】文件,接着再看下状态,显示有一个【未跟踪】的文件(untracked files)
3、然后通过【 git add . 】 命令把【工作目录】的文件提交到【暂存区】,然后就显示有一个未提交的文件。
4、接着把暂存区的文件通过【git commit -m “备注信息”】提交到本地仓库。
#查看指定文件状态
git status [filename]
#查看所有文件状态
git status
# git add . 添加所有文件到暂存区
# git commit -m "消息内容" 提交暂存区中的内容到本地仓库 -m 提交信息
5-3:忽略文件
有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等。
在主目录下建立".gitignore"文件,此文件有如下规则:
忽略文件中的空行或以井号(#)开始的行将会被忽略。
可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,…})代表可选的字符串等。
如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。
如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。
#为注释
*.txt #忽略所有 .txt结尾的文件,这样的话上传就不会被选中!
!lib.txt #但lib.txt除外,不会被忽略
/temp #仅忽略项目根目录下的TODO文件,不包括其它目录temp
build/ #忽略build/目录下的所有文件
doc/*.txt #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
6、IDEA 集成 Git
6-1、注册 Gitee 码云和添加仓库
6-2、设置本机绑定 SSH 公钥,实现免密码登录
(免密码登录,可以在本地电脑把代码 push 到远程仓库的时候可以不用每次都写密码)
如图,我现在是还没弄过 SSH 公钥的。
1、在 C 盘生成 .ssh 文件夹(生成 SSH 公钥)
一开始我是没有这个【.ssh】文件夹的。
随便打开一个 bash 命令行界面,输入 : ssh-keygen -t rsa -C “13xxxx6@163.com” ,然后一直点击回车,就会在 c 盘生成这个 【.ssh】文件夹
如图,【.ssh】里面有这两个文件
2、将公钥信息 public key 添加到码云账户中即可
确定后输入密码验证即可
出现了一条公钥了
3、创建一个远程仓库
这样一个远程仓库就创建好了
4、把远程仓库克隆到本地
我随便创建一个【git_go】的文件夹,然后在该文件夹里面打开这个,
然后输入如下命令把远程仓库克隆到本地来,命令可以直接在码云复制,如图:
如图,刚刚新建的仓库已经成功克隆下来了
为了后续方便和 idea 集成,不用再重新创建springboot项目,我直接在之前的一个项目的目录下,把这个远程仓库拷贝下来了。
6-3、IDEA 开始集成 Git
基本就是把【工作目录】的代码【add】到【暂存区】,然后再【commit】到【本地仓库】,然后再【push】到【远程仓库】。
1、把远程仓库的文件全部拷贝到项目的目录下,那么项目就成功绑定Git了
打开项目看一下,这个文件是红色,表示这个文件此时是选中的状态。
然后项目中,集成了git 的拉取和提交的快捷键。
这样的话,这个项目就成功绑定了 Git 了
2、修改文件,使用 IDEA 操作 Git
选中文件,然后点击【commit】
然后弹出的弹框,再次点击 【commit】
1、此时的代码,是 commit 到本地仓库的
add 是添加到 【暂存区】,commit 是直接把【工作目录】的代码提交到 【本地仓库】,直接跳过 add
此时代码的颜色就变回来了。
2、比如我随便创建一个类,那么此时这个类只存在【工作目录】,是【红色】的。
3、然后我右键这个类,选择【add】,就成功把这个类添加到【暂存区】,变成【绿色】
4、然后我再把【暂存区】的 people 类 【commit】到【本地仓库】,变回【黑色】
如图,颜色变回黑色了
5、演示修改【暂存区】和【本地仓库】的代码后,颜色的变化
【本地仓库】的代码,修改后变成【蓝色】;
【暂存区】的代码,修改后没有变化,依然是【绿色】
3、通过命令把【本地仓库】的代码 push 推到【远程服务器】
此时的仓库啥也没有
通过 【git push】命令,把代码都推送到远程服务器上面。
如图,push 成功。
可以看到都 push 到远程仓库了
4、通过 IDEA 的功能 push 到远程服务器
后续的切换分支,待更新~~~~~~~~~~~~~~~~~