Git工具的使用_如何在对应的文件中调用git软件-程序员宅基地

技术标签: github  git  java  数据仓库  intellij idea  

前言:
对于我们程序员来讲,在做一些大的项目时,Git工具是必不可少的本篇主要讲解了Git工具的指令,以及在idea软件上面的使用。非常地详细,确实比较适合小白,也适合大佬复习,看完之后还需要大家动手自己使用。
如果文章有什么写的不对或者需要改进的地方,还请大佬不吝赐教。
小威在此感谢各位小伙伴儿的支持
在这里插入图片描述

个人主页:小威要向诸佬学习呀
个人简介:大家好,我是小威,一个想要与大家共同进步的男人
目前状况:目前大二,在一家满意的公司实习

如果大佬在准备面试,可以使用我找实习前用的刷题神器哦刷题神器点这里哟
欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,我亲爱的大佬

以下正文开始

Git概述

在这里插入图片描述

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持
在这里插入图片描述

Git常用命令

版本库:.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等。
工作区:包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码;
暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方
在这里插入图片描述

Git工作区中文件的状态
Git工作区中的文件存在两种状态:

1.untracked 表跟踪(未被纳入版本控制)
2.tracked 已跟踪(被纳入版本控制)
(1)Unmodified 未修改状态 ;
(2)Modified 已修改状态;
(3) Staged 已暂存状态

注意:这些文件的状态会随着我们执行Git的命令发生变化
在这里插入图片描述

Git全局设置
当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息。

设置用户信息
git config --global user.name “小威要好好学习呀”
git config --global user.name “[email protected]
查看配置信息
git config --list
上面设置的user,name和user.email并不是在注册码云账户时使用的用户名和邮箱,此处可以任意设置。

在这里插入图片描述

本地仓库命令

  • git status 查看文件状态
  • git add 将文件的修改添加到暂存区
  • git reset 将暂存区的文件取消暂存或切换到指定版本
  • git commit 将暂存区的文件修改提交到版本库
  • git log 查看日志

例子:在hello-git文件夹下新建一个文件User.java。

第一步的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 推送到远程仓库

如果想查看已经配置的远程仓库服务器,可以运行git remote 命令,它会列出每一个远程服务器的简写如果已经克隆了远程仓库,那么至少应该能看到origin,这是Git克隆的仓库服务器的默认名字。
在这里插入图片描述
添加远程仓库之后
在这里插入图片描述
在这里插入图片描述

新建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上动手操作操作。
文章有什么写的不准确的地方还请大佬斧正

再次感谢各位小伙伴儿们的支持

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_53847859/article/details/124644463

智能推荐

linux里面ping www.baidu.com ping不通的问题_linux桥接ping不通baidu-程序员宅基地

文章浏览阅读3.2w次,点赞16次,收藏90次。对于这个问题我也是从网上找了很久,终于解决了这个问题。首先遇到这个问题,应该确认虚拟机能不能正常的上网,就需要ping 网关,如果能ping通说明能正常上网,不过首先要用命令route -n来查看自己的网关,如下图:第一行就是默认网关。现在用命令ping 192.168.1.1来看一下结果:然后可以看一下电脑上面百度的ip是多少可以在linux里面ping 这个IP,结果如下:..._linux桥接ping不通baidu

android 横幅弹出权限,有关 android studio notification 横幅弹出的功能没有反应-程序员宅基地

文章浏览阅读512次。小妹在这里已经卡了2-3天了,研究了很多人的文章,除了低版本api 17有成功外,其他的不是channel null 就是没反应 (channel null已解决)拜托各位大大,帮小妹一下,以下是我的程式跟 gradle, 我在这里卡好久又没有人可问(哭)![image](/img/bVcL0Qo)public class MainActivity extends AppCompatActivit..._android 权限申请弹窗 横屏

CNN中padding参数分类_cnn “相同填充”(same padding)-程序员宅基地

文章浏览阅读1.4k次,点赞4次,收藏6次。valid padding(有效填充):完全不使用填充。half/same padding(半填充/相同填充):保证输入和输出的feature map尺寸相同。full padding(全填充):在卷积操作过程中,每个像素在每个方向上被访问的次数相同。arbitrary padding(任意填充):人为设定填充。..._cnn “相同填充”(same padding)

Maven的基础知识,java技术栈-程序员宅基地

文章浏览阅读790次,点赞29次,收藏28次。手绘了下图所示的kafka知识大纲流程图(xmind文件不能上传,导出图片展现),但都可提供源文件给每位爱学习的朋友一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长![外链图片转存中…(img-Qpoc4gOu-1712656009273)][外链图片转存中…(img-bSWbNeGN-1712656009274)]

getFullYear()和getYear()有什么区别_getyear和getfullyear-程序员宅基地

文章浏览阅读469次。Date对象取得年份有getYear和getFullYear两种方法经 测试var d=new Date;alert(d.getYear())在IE中返回 2009,在Firefox中会返回109。经查询手册,getYear在Firefox下返回的是距1900年1月1日的年份,这是一个过时而不被推荐的方法。而alert(d.getFullYear())在IE和FF中都会返回2009。因此,无论何时都应使用getFullYear来替代getYear方法。例如:2016年用 getFullYea_getyear和getfullyear

Unix传奇 (上篇)_unix传奇pdf-程序员宅基地

文章浏览阅读182次。Unix传奇(上篇) 陈皓 了解过去,我们才能知其然,更知所以然。总结过去,我们才会知道我们明天该如何去规划,该如何去走。在时间的滚轮中,许许多的东西就像流星一样一闪而逝,而有些东西却能经受着时间的考验散发着经久的魅力,让人津津乐道,流传至今。要知道明天怎么去选择,怎么去做,不是盲目地跟从今天各种各样琳琅满目前沿技术,而应该是去 —— 认认真真地了解和回顾历史。 Unix是目前还在存活的操作系_unix传奇pdf

随便推点

ACwing 哈希算法入门:_ac算法 哈希-程序员宅基地

文章浏览阅读308次。哈希算法:将字符串映射为数字形式,十分巧妙,一般运用为进制数,进制据前人经验,一般为131,1331时重复率很低,由于字符串的数字和会很大,所以一般为了方便,一般定义为unsigned long long,爆掉时,即为对 2^64 取模,可以对于任意子序列的值进行映射为数字进而进行判断入门题目链接:AC代码:#include<bits/stdc++.h>using na..._ac算法 哈希

VS配置Qt和MySQL_在vs中 如何装qt5sqlmysql模块-程序员宅基地

文章浏览阅读952次,点赞13次,收藏27次。由于觉得Qt的编辑界面比较丑,所以想用vs2022的编辑器写Qt加MySQL的项目。_在vs中 如何装qt5sqlmysql模块

【渝粤题库】广东开放大学 互联网营销 形成性考核_画中画广告之所以能有较高的点击率,主要由于它具有以下特点-程序员宅基地

文章浏览阅读1k次。选择题题目:下面的哪个调研内容属于经济环境调研?()题目:()的目的就是加强与客户的沟通,它是是网络媒体也是网络营销的最重要特性。题目:4Ps策略中4P是指产品、价格、顾客和促销。题目:网络市场调研是目前最为先进的市场调研手段,没有任何的缺点或不足之处。题目:市场定位的基本参数有题目:市场需求调研可以掌握()等信息。题目:在开展企业网站建设时应做好以下哪几个工作。()题目:对企业网站首页的优化中,一定要注意下面哪几个方面的优化。()题目:()的主要作用是增进顾客关系,提供顾客服务,提升企业_画中画广告之所以能有较高的点击率,主要由于它具有以下特点

爬虫学习(1):urlopen库使用_urlopen the read operation timed out-程序员宅基地

文章浏览阅读1k次,点赞2次,收藏5次。以爬取CSDN为例子:第一步:导入请求库第二步:打开请求网址第三步:打印源码import urllib.requestresponse=urllib.request.urlopen("https://www.csdn.net/?spm=1011.2124.3001.5359")print(response.read().decode('utf-8'))结果大概就是这个样子:好的,继续,看看打印的是什么类型的:import urllib.requestresponse=urllib.r_urlopen the read operation timed out

分享读取各大主流邮箱通讯录(联系人)、MSN好友列表的的功能【升级版(3.0)】-程序员宅基地

文章浏览阅读304次。修正sina.com/sina.cn邮箱获取不到联系人,并精简修改了其他邮箱代码,以下就是升级版版本的介绍:完整版本,整合了包括读取邮箱通讯录、MSN好友列表的的功能,目前读取邮箱通讯录支持如下邮箱:gmail(Y)、hotmail(Y)、 live(Y)、tom(Y)、yahoo(Y)(有点慢)、 sina(Y)、163(Y)、126(Y)、yeah(Y)、sohu(Y) 读取后可以发送邮件(完..._通讯录 应用读取 邮件 的相关

云计算及虚拟化教程_云计算与虚拟化技术 教改-程序员宅基地

文章浏览阅读213次。云计算及虚拟化教程学习云计算、虚拟化和计算机网络的基本概念。此视频教程共2.0小时,中英双语字幕,画质清晰无水印,源码附件全课程英文名:Cloud Computing and Virtualization An Introduction百度网盘地址:https://pan.baidu.com/s/1lrak60XOGEqMOI6lXYf6TQ?pwd=ns0j课程介绍:https://www.aihorizon.cn/72云计算:概念、定义、云类型和服务部署模型。虚拟化的概念使用 Type-2 Hyperv_云计算与虚拟化技术 教改