目录
前言.(大家还是直接跳转到狂神的链接就好,我只是记一下笔记,加深一下印象,如果说这篇博文对大家能有帮助的地方,那也就只有SSH文件缺失的情况下该怎么办了,解决方案见'10-ssh公钥配置')
前言.(大家还是直接跳转到狂神的链接就好,我只是记一下笔记,加深一下印象,如果说这篇博文对大家能有帮助的地方,那也就只有SSH文件缺失的情况下该怎么办了,解决方案见'10-ssh公钥配置')
为了在GITHUB上充分利用开源项目来提升自己的学习能力和编程能力,我们需要先学习GIT工具的使用,这里贴出狂神说的学习文档(感谢狂神,感谢狂神,感谢狂神!已三连投币转发支持!)
一.GIT是什么?
GIT是一种版本控制工具,比如说我们开发一个项目,这个项目本身会经历迭代过程,我们想要把每一个版本都保存下来,这时候就可以考虑使用GIT.
二.GIT和SVN的区别
除此以外,GIT相比于SVN,GIT是一种分布式版本控制的工具,说明白点,就是每一个电脑(服务器)都可以保存当前项目中所有版本的代码信息,但是SVN,是一种集中式版本控制工具,也就是说历史版本代码都是保存在中央服务器中,假如说哪一天中央服务器瓦特了,所有的用户就都不能访问这个历史版本信息了,但是SVN也有好处,比如说防止你拿着代码删库跑路.
三.GIT历史
git是Linux之父纳斯.托瓦兹花了两周开发出来的,它的前身是BitKepper,但是因为BitKeeper需要收费来维护Linux这个开源系统,所以这个大佬就只花了两周时间自己写了一个GIT........(在大佬面前瑟瑟发抖)
四.GIT下载及其配制
这里贴出镜像网站链接git-for-windows Mirror
下载后点开GITBush
五.Linux常用命令
为了更好的使用这个工具,我们需要学会一些常用命令
1)cd 目录名称 表示进入目录
2)cd .. 表示退回到上级目录
3)pwd 显示当前目录(防止迷路,相当于地图)
4)clear 清理当前cmd中显示的内容(落得白茫茫大地真干净)
5)ls 显示当前目录下所有文件
6)touch 文件名称 新建文件或文档
7)rm 文件名称 删除文件
8)mkdir 文件夹 创造文件夹
9)rm -r 文件夹名称 删除文件夹
10)rm -rf / 切勿在linux上使用这个命令,表示删除所有文件
11)mv 源文件名称 目的文件夹
12)#表示注释
13)history表示显示历史命令
六.GIT必要配置
查看自己的user.name和user.email配置
git config --global --list
配置自己的账号和邮箱(邮箱尽量真实,以后会用)
git config --global user.name "这里是名称"
git config --global user.emal "这里是邮箱"
七.GIT基本理论(核心)
GIT本地有三个工作区域:工作目录+暂存区+资源库,如果加上远程的git仓库就是四个工作仓库
我们不需要管暂存区和资源库,我们只需要管工作目录(隐藏的.git文件夹)和远程git仓库
我们需要记住六个最核心的命令
add 本地工作空间add到暂存区
commit 暂存区commit到本地仓库
push 本地仓库push到远程仓库
八.GIT创建项目及其克隆
git创建项目:先跳转到想要创建的目录之下
git config(成功后如下)
GIT克隆
我们可以去GITEE上找项目,然后克隆到GIT相应目录之处
git clone [url地址]
补充一句,这里的URL地址一定要写上前缀,比如说https://.....
九.GIT基本操作指令
文件的四种类型:
Untracked+Unmodified+modified+Staged(暂存态)
git add . 添加所有文件到暂存区
git commit -m 提交暂存区的内容到本地仓库
十.配制SSH公钥
在这个过程中我们遇到问题:文件内部没有.ssh文件,我们需要自己创造SSH文件,我们可以在DESKTOP状态下输入命令来配制
配制命令:
ssh-keygen -o
(成功如下)
我们将id_ras.pub文件的内容复制到GITEE的相应位置
创建仓库:
我们下载仓库到本地:
git clone (鼠标右键即可粘贴url地址)
下载成功
十一.IDEA集成GIT
创建一个springboot项目后将我们远程下载的GIT仓库,直接ctrl+C ctrl+V复制到我们当前项目,就这样简单的集成了项目
添加GIT的文件
两种方法:控制台: git add .
或者修改一个文件后add
再点击commit
然后我们在控制台GIT PUSH命令
一共三步(先add. 再commit -m "这里写上提交信息" 最后git push):
git add .
commit
git push
但是push出错了
我们使用git push -f origin master 强制推送,但是会覆盖原有分支