【学习笔记】 - GIT的基本操作,IDEA接入GIT以及上传hub

用github蛮多,但git没怎么用,看着视频对着写点笔记以及操作

一、GIT文件的三种状态和模式

已提交(committed)        已提交表示数据已经安全的保存在本地数据库中。

已修改(modified)        已修改表示修改了文件,但还没保存到数据库中。

已暂存(staged)        暂存表示对一个已修改文件的当前版本做了标记使之包含在下次提交的快照中。(相当于buffer)

所以会有三个工作区域


工作区        简单的理解为在电脑里能看到的目录,比如自己创建的本地项目目录

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

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

二、创建版本库并提交文件

新建一个git文件,并初始化,这个即git工作区,.git即git仓库,隐藏目录

git add添加某个文件到缓冲区(暂存区)

git status查看属性 

git commit -m 'git版本初始化以及文件提交操作' // /m后为提交的解释

git log 查看日志 

三、时光穿梭机

1.提交文件与撤销文件

        企业中在多人的项目开发环境下,使用Git版本控制工具对项目版本进行管理时,通常会对项目不同版本的文件进行查看,项目历史版本,未来版本的切换操作,对于一个项目开发人员,此时对于Git的这些基本命令操作就成为了一项基本技能。

1.提交到暂存区

修改git01.txt文件,可以查看属性 提示暂为被加到缓冲区

添加到缓冲区

.

commit提交

如果不添加到缓冲区直接commit,会无法添加成功。

差异比较说明

---表示变动前的文件

+++:表示变动后的文件

变动的位置用两个@作为起首和结束

@@-1,2 +1,3@@:减号表示第一个文件,"1"表示第1行,"2"表示连续2行。同样的,"+1,3"表示变动后,成为第二个文件从第1行开始的连续3行。

1.撤销暂存区文件

已经添加到暂存区的文件可以使用

git reset HEAD撤销

2.版本回退

 简化操作,显示少页的log

^表示回退到上一个版本

^^表示回退到上两个版本

git reset --hard HEAD~1//num表示回退的多少个版本

如果想跳到前面的版本,使用

git reset --hard b4740

如果回退到前面的版本,但是已经看不到哈希字符串了

可以使用git reflog

3.文件删除

        在GIt中,删除文件同样是一个修改操作, 即在Git世界中,Git仅仅关注文件是否被修改(文件添加,更新,删除)

在工作区添加新文件git02.txt并删除,如果是工作区的删除,但是已经上传到本地仓库了,所以可以误删恢复

        

git checkout -- git02.txt

注意如果本地仓库没有,那不能恢复的

如果想彻底删除使用

git rm git02.txt 会将工作区和仓库区的都删除

使用git ls-files 查看仓库文件,不是工作区的

四、远程仓库GITHUB(分布式版本控制)

        Git是一个分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上,截止目前,并没有看到分布式的环境,因为以上的操作都在在本地发生的,对于Gt除了前面提到的本地版本库外,Git 支持远程仓库的托管服务即使用者可以将本地版本库中的文件托管到远程服务品进行存储,这样就极大的方便开发,无论你走到哪,只要你的机器能够联网,就可以通过远程的仓库地址得到一份相同的项目库文件,并且下载到本地的文件版本记录与远程文件版本保持一致,井且可以很方便的实现多人协同开发操作。

        对于Git远程仓库GitHub: Let’s build from here · GitHub是比较知名的一一个,目前已被微软收购,而国内比较知名的当属码云官方了.当然除了这些远程仓库外,在公司,有的公司处于安全考虑,可能会自己搭建一套Git服务区来自Git的远程仓库,对于内部仓库会有专门人员来进行维护操作。

这里以当下比较流行的GiHub仓库来介绍Git远程仓库基本操作与使用。

1.克隆远程项目到本地

找到对应的仓库点击code,有一段git的下载

在目标目录下右键打开控制台 使用

git clone 网址

2.本地库推送到远程仓库

或者在命令行上创建一个新的存储库

echo "# gitTest" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/yinhai1114/gitTest.git
git push -u origin main

或者从命令行推送一个现有的存储库

git remote add origin https://github.com/yinhai1114/gitTest.git
git branch -M main
git push -u origin main 

GitHub - yinhai1114/gitTest: 推送本地仓库到远程仓库

使用ssh推送

通过ssh-key将本地文件上传指定github仓库 - 知乎

五、本地分支操作

1.本地分支合并,重命名,删除

        开发企业项目中在使用Git或者其他类似版本控制软件对项目版本进行管理时,多人合作的项目在开发时通常不会直接在主master上进行操作,而是重新开辟新的分支,在新的分支上进行开发调试等操作,当项目调试通过时才会将分支项目的代码合并到主干中,这是在实战中比较好的一种策略,特别是多人协同开发一个项目的情况下尤其明显。

Git 对于分支操作提供了一下基本命令

拉取分支 git check -b left01

对分支进行操作不会影响主干main

合并分支时如果两个分支都被修改,那么会需要人为接入进行合并参考下列

git merge合并分支代码# Please enter a commit message to explain why this merge is necessar У git退出编辑信息_少吃一口都不行的博客-CSDN博客

2.分支的push与pull操作

3.冲突内容

分为本地冲突和多人协同冲突,本地冲突需要改变不相同的内容,保留某个或者合并

多人冲突 解决方法需要每次先pull拉取代码,然后查看不相同的内容进行修改,然后在push

六、标签管理

七、IDEA下git的基本操作

setting内搜索git,添加文件路径,点击test测试git是否已经找到,出现版本号即成功

github添加远程仓库

获取仓库 使用在新页面checkout for version或者在已有的项目内new -- new project form version control

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/139428.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI艺术字比赛;OpenAI GPTs 分享网站;AI项目坟场;农村程序员独立开发者;小红书·大模型与推荐系统 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🉑 Alibaba X 堆友「AI造字」主题作品设计大赛 https://d.design/competition/ai-word 堆友 (D.DESIGN) 是一个在线设计平台,…

CLK_CFG_AD9516时钟芯片(配置代码使用说明)

目录 1 概述2 例程功能3 例程端口4 数据时序5 注意事项6 调用例程7附录(代码以及寄存器) 1 概述 本文用于讲解CLK_CFG_AD9516例程配置代码的使用说明,方便使用者快速上手。 2 例程功能 本例程 是采用verilog hdl编写,实现AD951…

浅谈jvm

前置知识补充 JDK、JRE、JVM是什么?区别与联系? 区别: JDK(Java Development Kit):Java开发工具包 主要包括 Java运行环境、Java基础库及 Java工具。 JRE(Java Runtime Environment&#xf…

硬盘、U盘的数据恢复利器-供大家学习研究参考

可以快速恢复硬盘、U盘、存储卡等数据 支持快速扫描和底层扫描模式 体验不错 下载地址: https://download.csdn.net/download/weixin_43097956/88530241

在 HarmonyOS 上实现 ArkTS 与 H5 的交互

介绍 本篇 Codelab 主要介绍 H5 如何调用原生侧相关功能,并在回调中获取执行结果。以“获取通讯录”为示例分步讲解 JSBridge 桥接的实现。 相关概念 Web组件:提供具有网页显示能力的 Web 组件。 ohos.web.webview:提供 web 控制能力。 …

thinkphp6 只有默认页能访问 其他404 其他模块404

1.只有默认页能访问 其他页404 同时隐藏index.php 在 public/.htaccess 中添加如下配置&#xff0c;后重启服务 <IfModule mod_rewrite.c>Options FollowSymlinks -MultiviewsRewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-f…

接口测试框架实战(一) | Requests 与接口请求构造

Requests 是一个优雅而简单的 Python HTTP 库&#xff0c;其实 Python 内置了用于访问网络的资源模块&#xff0c;比如urllib&#xff0c;但是它远不如 Requests 简单优雅&#xff0c;而且缺少了许多实用功能。所以&#xff0c;更推荐掌握 Requests 接口测试实战技能&#xff0…

祝贺莱佛士学生获得SDC国际设计大赛新加坡赛区冠军

染色师和调色师协会国际设计大赛&#xff08;SDC International Design Competition&#xff0c;简称SDC国际设计大赛&#xff09;由英国染色家协会&#xff08;Society of Dyers and Colourists&#xff0c;简称SDC&#xff09;举办。 SDC成立于1884年&#xff0c;是国际上最…

IT 基础架构管理需要了解的信息

各行各业的现代组织不断面临创新和扩展的压力。就在十多年前&#xff0c;一个组织可以争取时间&#xff0c;在投资新技术时保持保守&#xff0c;同时仍然保持竞争优势&#xff0c;快进到今天&#xff0c;随着商业实践的变化和新技术的不断涌现&#xff0c;商业和技术领域变得更…

视频号小店怎么做?运营四步骤,快来学习!

大家好&#xff0c;我是电商糖果 2023年因为视频号小店的爆火&#xff0c;想尝试开店的朋友也不少。 但是因为自己是新手小白&#xff0c;对做电商方面了解的也并不多&#xff0c;再加上它是一个才出来一年多的电商平台。对它的很多规则和玩法并不清楚。 所以&#xff0c;这…

Elasticsearch docker-compose 使用 Logstash 从 JSON 文件中预加载数据

在我们创建 Elasticsearch 进行开发时&#xff0c;最简单的办法就是在本地使用 docker-compose 来一键部署一个 Elasticsearch 集群。有时&#xff0c;特别是在准备测试环境时&#xff0c;开发人员希望从一开始就创建包含一些测试数据的数据库容器。我们可以使用 Logstash 来很…

好题分享(2023.11.5——2023.11.11)

目录 前情回顾&#xff1a; 前言&#xff1a; 题目一&#xff1a;补充《移除链表元素》 题目二&#xff1a;《反转链表》 解法一&#xff1a;三指针法 解法二&#xff1a;头插法 题目三&#xff1a; 《相交链表》 题目四&#xff1a;《合并两个有序数列》 题目五&…

【原创】java+swing+mysql办公用品管理系统设计与实现

摘要&#xff1a; 办公用品管理系统是一个设计和实现办公用品库存和使用管理的信息系统。此系统可以提高办公用品的利用率&#xff0c;减少浪费&#xff0c;使办公用品管理更加高效、规范、便捷。本文主要介绍使用javaswingmysql技术去开发实现一个办公用品管理系统。 功能分…

若依侧边栏添加计数标记效果

2023.11.13今天我学习了如何对若依的侧边栏添加技术标记的效果&#xff0c;如图&#xff1a; 我们需要用到两个页面&#xff1a; 先说子组件实现计数标记效果 1.item.vue <script> export default {name: MenuItem,functional: true,props: {icon: {type: String,defau…

【网络豆送书第六期】《嵌入式虚拟化技术与应用》

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 公众号&#xff1a;网络豆云计算学堂 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a; 网络豆的主页​​​​​ 本期好书推荐&#xff1a;《嵌入式虚拟化技术与应用…

使用代理IP时有哪些小技巧?大数据技术人员必看

很多大数据行业和跨境行业的用户都会使用到一个工具&#xff0c;就是代理IP工具&#xff0c;不过很多人对它的研究不深&#xff0c;其实在使用它时是有一些小技巧的&#xff0c;它不仅可以帮助我们隐蔽我们的真实IP地址&#xff0c;实现多账号矩阵运营&#xff0c;同时还能让我…

告别瞎忙+拖延,工作中必不可少的便签工具

在平常的工作中&#xff0c;很多人都会感慨&#xff0c;每天的工作都是在瞎忙&#xff0c;一天忙忙碌碌结束后发现仍旧有许多待完成的任务&#xff0c;也有一些人在工作中碌碌无为&#xff0c;消极怠工拖延时间&#xff0c;瞎忙拖延归根到底是没有提前将工作中的各项工作安排妥…

双十一大促已过,虾皮、Lazada年底如何通过测评补单打造搜索排名

双十一大促已过&#xff0c;有人欢喜有人忧&#xff0c;不管怎么样&#xff0c;年底的这波旺季还是要好好把握的。 如何提升虾皮搜索排名 1、标题关键词匹配度 Shopee、Lazada的排名规则主要是根据用户搜索时输入的关键字和卖家的商品标题、描述等是否相匹配来进行排名&…

福州府108m²3室2厅轻奢有度,高级耐看。福州中宅装饰,福州装修

空间之间的空间 比空间本身更具有意味&#xff0c; 但也容易被忽略&#xff0c; 正是由于“之间”的多元性和复杂性 以及它的不确定性&#xff0c; 空间之间变得无限可能。 项目信息 项目名称 | 福州府 设计地址 | 福建福州 项目面积 | 108㎡ 项目户型 | 3室2厅 设计…

安装显卡驱动、安装cuda toolkit、安装cudnn

nvidia-smi查看&#xff0c;CUDA可以向下兼容&#xff0c;以我为例&#xff0c;可以安装12.0以下的版本&#xff1a; cuda toolkit https://developer.nvidia.com/cuda-toolkit-archive 如果 你前面没有安装vs&#xff0c;直接安装的这个&#xff0c;需要把CUDA里面的 Visua…