git reset --hard HEAD^^ 回退上N个版本 几个^^表示回退几个版本

回退指定版本

git reset --hard commit_id

git reset --hard d6d7s7

回退未来版本

使用命令 查看所有历史命令 git reflog

c、暂存区和工作区操作撤销

sataged翻译:阶段 restore:恢复 撤销暂存区操作:git restore --staged HelloWord.java

撤销工作区操作: git restore HelloWord.java

注意:提交到版本库后不支持撤销,可以使用版本回退

3、Git分区原理

工作区(Working Directory)

就是你在电脑里能看到的目录,比如我的Git-repository文件夹就是一个工作区:

版本库(Repository)

工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。

我们把文件往Git版本库里添加的时候,是分两步执行的:

第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。

你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。

4、删除文件

a、删除没用文件(将工作区文件删除)

直接删除 使用命令删除 rm -f 文件

可以回退删除

b、确认删除 (将工作区删除的操作提交到暂存区)

git add/rm 文件

c、确认提交到版本库

git commit -m “提示信息”

5、分支管理

分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。

如果两个平行宇宙互不干扰,那对现在的你也没啥影响。不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN!

a、作用:

用于管理个人代码,在所有人确认无误后汇总合并分支,平时在操作时分支之间互不干扰 master(主分支)

b、创建分支

git branch dev

c、查看分支

git branch

d、切换分支

git checkout dev

e、创建并切换分支

git checkout -b dev

f、合并分支

git checkout master 切换到最终合并的分支上

git merge dev 将merge后指定分支的修改合并到当前分支上

g、删除分支

git branch -d dev 【注意:不能自己删自己】

五、远程版本库配置使用

==============================================================================

1、远程版本库(远程代码托管平台)选取码云(Gitee)

[ https://www.zhihu.com/question/387515137 了解代码托管平台 ]

全球最流行的代码托管平台:GitHub

GitHub是全球最流行的面向开源及私有软件项目的托管平台,有超过2600万的用户群体。随着越来越多的应用程序转移到了云上,GitHub已经成为了管理软件开发以及发现已有代码的首选方法。GitHub可以托管各种git库,并提供一个web界面,与其它代码托管平台不同的是GitHub的“分支”结构可以很容易地将某个项目的成功经验应用到另外与一个项目中。此外,GitHub还提供了针对企业私有云服务的GitHub企业版。

开源中国旗下的代码托管平台:码云

码云是开源中国社区团队推出的基于Git的快速的、免费的、稳定的在线代码托管平台。专为开发者提供的云端软件开发协作平台。无论是个人、团队、或是企业,都能够用码云实现代码托管、项目管理、协作开发。

基于git的仓库管理程序:GitLab

GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目安装。 拥有与GitHub类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。 团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

2、注册gitee账号

自己在官网创建一个,要想使用码云的相关服务,需要注册账号(地址: https://gitee.com/signup )

3、新建仓库

首页–>仓库–> + [右上角] --> 新建仓库

填充仓库名称 和 简介 --> 选择开源

初始化仓库[测试随便选] java | jetBrains | OBSD

设置模板[测试随便选] 全部勾选

选择创建

[许可证说明 http://www.ruanyifeng.com/blog/2017/10/open-source-license-tutorial.html]

开源许可证是一种法律许可。通过它,版权拥有人明确允许,用户可以免费地使用、修改、共享版权软件。

版权法默认禁止共享,也就是说,没有许可证的软件,就等同于保留版权,虽然开源了,用户只能看看源码,不能用,一用就会侵犯版权。所以软件开源的话,必须明确地授予用户开源许可证。

每个Git远程仓库都会对应一个网络地址,可以点击克隆/下载按钮弹出窗口并点击复制按钮获得这个网络地址

4、邀请其他用户成为仓库成员

前面已经在码云上创建了自己的远程仓库,目前仓库成员只有自己一个人(身份为管理员)。在企业实际开发中,一个项目往往是由多个人共同开发完成的,为了使多个参与者都有权限操作远程仓库,就需要邀请其他项目参与者成为当前仓库的成员。

我们当前创建的Git远程仓库对应的地址为:https://gitee.com/wanghengjie563135/EMS.git

6、将远程版本库拉取到本地(在本地库和远程仓库建立联系)

a、仓库右上角克隆/下载位置复制仓库路径 HTTPS 或 SSH

Git远程仓库对应的SSH地址为:

git@gitee.com:wanghengjie563135/git-test.git

b、本地新建目录

c、在目录中开启bash窗口执行克隆命令

语法:git clone 仓库路径

例如:git clone ``[git@gitee.com](mailto:git@gitee.com)``:wanghengjie563135/EMS.git

d、执行后提示是否确认 输入yes

e、拉取失败【没有权限】

提示:Please make sure you have the correct access rights and the repository exists.

[请确保您拥有正确的访问权限并且存储库存在]

f、设置gitee访问权限——生成ssh key

a、检查是否存在.ssh目录

位置:当前计算机用户主目录下 C:\Users\Administrator.ssh

b、检查.ssh目录中是否存在 id_rsa.pub 和 id_rsa 文件 【计算机远程访问公/私钥文件】

存在跳过,不存在生成对应文件

c、生成id_rsa.pub 和 id_rsa文件命令

ssh-keygen -t rsa 后续一直enter确认

查看自己的公钥:cat ~/.ssh/id_rsa.pub

g、设置gitee访问权限——配置公钥

a、点击gitee右上角个人设置–>选择设置–>左侧导航栏选择 SSH公钥

b、标题随意 --> 公钥 [打开刚才生成的C:\Users\Administrator/.ssh/id_rsa.pub文件复制粘贴]–>输入登录密码

h、再次执行命令拉取远程版本库

git clone ``[git@gitee.com](mailto:git@gitee.com)``:wanghengjie563135/EMS.git

7、使用远程版本库

a、进入到对应库中

b、新建HelloWord文件

c、推送至远程版本库

git push -u origin master [ -u:分支关联 origin:远程库的名字 master:本地分支名字]

d、将远程修改同步到本地

git pull origin master

8、将本地项目推送至远程版本库

a、在本地准备项目

b、在远程仓库中定义仓库(空仓库)

选择新建仓库–>填充仓库名称–>填充介绍–>选择开源–>选择创建

c、依次执行命令

git init #初始化仓库 git add . #将项目的所有内容添加到暂存区 git commit -m "first commit" #提交到本地版本库 git remote add origin ``[git@gitee.com](mailto:git@gitee.com)``:wanghengjie563135/vue.git #当前仓库与远程仓库建立一个链接

git push -u origin master #推送本地库项目至远程仓库

推送成功

d、相关报错总结

报错原因:们在创建仓库的时候,都会勾选“使用Reamdme文件初始化这个仓库”这个操作初识了一个README文件并配置添加了忽略文件。当点击创建仓库时

它会帮我们做一次初始提交。于是我们的仓库就有了README.m和.gitignore文件,然后我们把本地项目关联到这个仓库,并把项目推送到仓库时,我们在关联本地与远程时,两端都是有内容的,但是这两份内容并没有联系,当我们推送到远程或者从远程拉取内容时,都会有没有被跟踪的内容,于是你看git报的详细错误中总是会让你先拉取再推送,但是拉取总是失败。

将这些文件删除后再提交

相关报错参考方案:

https://blog.csdn.net/qq_33934427/article/details/109004052

六、Git与IDEA工具集成

=================================================================================

1、在IDEA中集成Git

File | Settings | Version Control | Git | 点击右上角 Test 测试git环境是否正常 (展示版本号表示正常)

2、修改idea Terminal为 Git bash

File | Settings | Tools | Terminal |

修改 Shell path : git安装目录/bin/bash.exe

3、git init 初始化仓库

4、执行命令设置仓库

git init #初始化仓库

git add . #将项目的所有内容添加到暂存区

git commit -m “first commit” #提交到本地版本库

git remote add origin https://gitee.com/wanghengjie563135/studnet-system.git #当前仓库与远程仓库建立一个链接

git push -u origin master #推送本地库项目至远程仓库

上传成功

5、在项目中进行后续开发 注意文件状态(颜色)

红色:工作区已修改并未添加到暂存区 绿色:修改已经添加到暂存区暂未提交到版本库 黑色|白色:版本库与工作区一致 蓝色:该类已经提交到版本库,有修改 修改之后可以直接commit

6、完成开发后要添加到暂存区、提交本地库 并且 提交到远程版本库

添加暂存区 :右击要提交文件/文件夹–>Git–> + Add

交本地库 :右击要提交文件/文件夹–>Git–> Commit File -->输入提示信息–>Commit

提交远程库 :右击要提交文件/文件夹–>Git–> Push --> 选择Push

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)

完结

Redis基于内存,常用作于缓存的一种技术,并且Redis存储的方式是以key-value的形式。Redis是如今互联网技术架构中,使用最广泛的缓存,在工作中常常会使用到。Redis也是中高级后端工程师技术面试中,面试官最喜欢问的问题之一,因此作为Java开发者,Redis是我们必须要掌握的。

Redis 是 NoSQL 数据库领域的佼佼者,如果你需要了解 Redis 是如何实现高并发、海量数据存储的,那么这份腾讯专家手敲《Redis源码日志笔记》将会是你的最佳选择。

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

…(img-OsY2e3yw-1712721721937)] [外链图片转存中…(img-LHHTuUus-1712721721937)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java) [外链图片转存中…(img-pRK12StZ-1712721721937)]

完结

Redis基于内存,常用作于缓存的一种技术,并且Redis存储的方式是以key-value的形式。Redis是如今互联网技术架构中,使用最广泛的缓存,在工作中常常会使用到。Redis也是中高级后端工程师技术面试中,面试官最喜欢问的问题之一,因此作为Java开发者,Redis是我们必须要掌握的。

Redis 是 NoSQL 数据库领域的佼佼者,如果你需要了解 Redis 是如何实现高并发、海量数据存储的,那么这份腾讯专家手敲《Redis源码日志笔记》将会是你的最佳选择。

[外链图片转存中…(img-RD6iO0hj-1712721721938)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长! [外链图片转存中…(img-Ybwsz9rJ-1712721721938)]

精彩文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: