前言:
对于我们程序员来讲,在做一些大的项目时,Git工具是必不可少的本篇主要讲解了Git工具的指令,以及在idea软件上面的使用。非常地详细,确实比较适合小白,也适合大佬复习,看完之后还需要大家动手自己使用。
如果文章有什么写的不对或者需要改进的地方,还请大佬不吝赐教。
小威在此感谢各位小伙伴儿的支持
文章图片
文章目录
- Git概述
- Git常用命令
-
- 本地仓库命令
- 远程仓库命令
- 分支操作
- 标签操作
- Idea上执行Git
Git概述 【git|Git工具的使用】
文章图片
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
文章图片
Git常用命令 版本库:.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等。
工作区:包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码;
暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方。
文章图片
Git工作区中文件的状态
Git工作区中的文件存在两种状态:
1.untracked 表跟踪(未被纳入版本控制)注意:这些文件的状态会随着我们执行Git的命令发生变化
2.tracked 已跟踪(被纳入版本控制)
(1)Unmodified 未修改状态 ;
(2)Modified 已修改状态;
(3) Staged 已暂存状态
文章图片
Git全局设置
当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息。
设置用户信息
git config --global user.name “小威要好好学习呀”
git config --global user.name “3078686780@qq.com”
查看配置信息
git config --list
上面设置的user,name和user.email并不是在注册码云账户时使用的用户名和邮箱,此处可以任意设置。
文章图片
本地仓库命令
- git status 查看文件状态
- git add 将文件的修改添加到暂存区
- git reset 将暂存区的文件取消暂存或切换到指定版本
- git commit 将暂存区的文件修改提交到版本库
- git log 查看日志
文章图片
第一步的add *把User.java文件纳入了版本控制,因此展现为绿色。
执行完第一张图,再创建user.xml文件而不执行add命令,则user.xml没有纳入版本控制,会变红。
文章图片
此时再执行add * 命令则会把user.xml纳入版本控制。如下图:
文章图片
文章图片
commit 提交命令,-m为注释, 后面引号内容为注释内容,User.java是要从暂存区中提交的文件。但是出现了邮箱地址错误。
文章图片
出错原因是没有进行用户名、邮箱设置所导致。
文章图片
此时如果修改文件中的内容
文章图片
文件会变为modified变红状态
文章图片
再次添加即可恢复,放到缓存区
文章图片
文章图片
打印log日志,可以看到commit后面的版本号
文章图片
使用reset命令可以回到版本号之前的状态
文章图片
结果显示建立的user.xml已经没有了,因为在此版本号时user.xml还没有建立
文章图片
文章图片
远程仓库命令 前面执行的命令操作都是针对的本地仓库,下面是远程仓库命令。
- git remote 查看远程仓库
- git remote add shortname 添加远程仓库
- git clone 从远程仓库克隆
- git pull 从远程仓库拉取
- git push 推送到远程仓库
文章图片
添加远程仓库之后
文章图片
文章图片
新建text.txt文档,并提交,然后使用push命令将文件推到gitee上面
文章图片
打开gitee,上面显示下图,表示已经上传上去,其中master表示默认主分支
文章图片
文章图片
此时编辑text.txt文件内容
文章图片
重新将text.txt加入到缓冲区,提交,并推到gitee上面
文章图片
git上面显示内容
文章图片
文章图片
需要注意事项
在使用git push 命令将本地文件推送至码云仓库时,需要进行身份认证,认证通过才可以推送。
博主在运行的时候也出现了**Incorrect username or password ( access token )**错误,解决方法如下
1.第一步,打开控制面板
文章图片
2.点击用户账户,管理你的凭据
文章图片
3.点击Windows凭据,普通凭据里有gitee相关的数据
文章图片
4.如果用户名账户密码错的话,点击编辑即可修改完成
以上就是push命令发生错误时的修改方法
创建另一个仓库 hello-java。
pull命令如下,其中origin是别名,此时显示 Already up to date 表示已经更新了,这个命令表示从gitee仓库中获取文件。
文章图片
上一张图已经将gitee仓库的文件拉取到了xiaohei文件夹中,此时新建xiaowei.txt文件。
文章图片
利用老方法将xiaowei.txt文件上传并提交
文章图片
此时xiaohei在gitee上这样显示
文章图片
xiaobai此时的文件是这样
文章图片
将gitee上面的文件用pull命令给xiaobai,所以xiaobai文件夹里会多出来一个文件。
文章图片
文章图片
分支操作 此操作以hello-world文件为例。
分支是Git使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。同一个仓库可以有多个分支,各个分支相互独立,互不干扰。
通过git init 命令创建本地仓库时默认会创建一个master分支。
关于分支的相关命令,具体如下:
- git branch 查看本地所有分支
- git branch -r 查看远程所有分支
- git branch -a 查看本地和远程所有分支
- git branch [name] 创建分支
- git checkout [name] 切换分支
- git push [shortName] [name] 推送至远程仓库分支
- git merge [name] 合并分支
文章图片
创建b1,b2分支,checkout命令是切换分支,后面括号里写什么就代码在那个分支上。
文章图片
将b1分支上传到远程仓库,b1–>b1是指本地b1到远程b1。
文章图片
gitee仓库显示,此时b2分支还没有上传到仓库,因此仓库里还没有b2分支
文章图片
下面我们切换到master分支,看看master分支上都有什么文件
文章图片
文章图片
切换到b1目录,b1目录下有这些文件
文章图片
文章图片
文章图片
将master分支上传到仓库
文章图片
文章图片
b1分支上传到仓库,相比master少了xiaowei.txt文件
文章图片
给b2分支创建b2.txt文件,并将b2分支上传到远程仓库
文章图片
文章图片
将b2.txt文件添加到master分支并上传
文章图片
gitee仓库显示
文章图片
b2分支修改文件
文章图片
文章图片
文章图片
此时如果将master分支和b2分支合并,会发生错误,因为master分支中的b2.txt文件和b2分支下的b2.txt文件冲突,内容不一样
文章图片
会发生如图冲突错误
文章图片
文章图片
完成会仓库显示
文章图片
文章图片
标签操作 Git中的标签,指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。
比较有代表性的是人们会使用这个功能来标记发布结点(v1.0、v1.2等)。下面是mybatis-plus的标签:
文章图片
标签常用命令
- git tag 列出已有的标签
- git tag [name] 创建标签
- git push [shortName] [name] 将标签推送至远程仓库
- git checkout -b [branch][name] 检出标签
文章图片
文章图片
文章图片
v1标签下的文件
文章图片
文章图片
v2标签下的文件
文章图片
可以看出两个标签的状态是不一样的。标签就像我们照照片一样,不同时期的照片我们状态可能不一样。
文章图片
Idea上执行Git 将我们在前面创建的文件导入idea中,创建两个controller类,点击上面的Git创建即可
文章图片
第二种方式,点击图中的箭头也可以提交,左边箭头为更新项目,右边箭头为推送
文章图片
图中也可以管理远程仓库,填写仓库的路径即可
文章图片
文章图片
下图为将idea中的项目推送到远程仓库
文章图片
下图为将项目推送到仓库的结果
文章图片
idea上的git在右下角有很多功能,比如分支等。
文章图片
文章图片
文章到此就结束了,在idea上的操作将比较少,大致讲了一下,还需各位小伙伴儿在idea上动手操作操作。
文章有什么写的不准确的地方还请大佬斧正
再次感谢各位小伙伴儿的支持
文章图片
推荐阅读
- 工具使用经验|使用 VsCode 自带的 Git工具
- git|Git教程详细版
- JAVA高级|Git 工具 - 高级合并
- Spring Cloud Config Server连接到本地Git存储库
- 项目|7-谷粒学苑
- GitHub# fatal: 'origin' does not appear to be a git repository
- Intellij Idea创建Android项目
- 面试官(Spring MVC 如何保证 Controller 的并发安全性(面试必问。。))
- Java 13 的 switch 语句改进