展开菜单
首页 精品内容 本月促销 装机必备 Windows PDF教程 macOS软件 IOS软件 Android AI 专题
全部分类

当前位置:

首页 > 系统应用 > 1.5.1 Git使用教程之本地仓库的基本操作

1.5.1 Git使用教程之本地仓库的基本操作

Git是什么? 一个分布式版本控制系统,和SVN类似,但远比SVN强大的一个版本控制系统 ①Git可以方便的在本地进行版本管理,如同你本地有一个版本管理服务器一样 我们可以选择在合适的时间将本地版本推送到统一的版本管理服务器 ②Git每次会提取整个代码仓库的完整镜像,相当于对整个代码仓库都进行了一次

Git是什么?

一个分布式版本控制系统,和SVN类似,但远比SVN强大的一个版本控制系统 ①Git可以方便的在本地进行版本管理,如同你本地有一个版本管理服务器一样 我们可以选择在合适的时间将本地版本推送到统一的版本管理服务器 ②Git每次会提取整个代码仓库的完整镜像,相当于对整个代码仓库都进行了一次备份,这样计时版本服务器除了问题,我们可以直接采用本地仓库恢复!结合本地版本管理功能,远程版本管理服务器出问题了,我们依然能继续写自己的代码,当他恢复的时候我们再提交我们的本地版本! Git研发初期是为了更好的管理Linux内核,不过现在已经广泛应用于各种项目中!

安装Git

如果你的系统是Linux的话,直接打开shell输入:

sudo apt-get install git

当然,大部分的系统估计都是Windows,这就需要我们到网上下载一个Git For Window了,可到下述网站下载: https://git-for-windows.github.io/ 点击 Download,跳转到 Github ,下载对应安装包即可!

点击后进入页面,下载如下文件即可

或者直接下载目前最新版2.7.0: v2.7.0.windows.1 接着傻瓜式的下一步就可以了~ 接下来你可以找到Git Gui然后开始玩Git,不过如果以后换到其他平台上,没有图形化界面你就寸步难行了! So,如果你有兴趣的话,我们来玩命令行,以后换了系统也能正常的玩Git!

玩转Git命令行

当然Git肯定是搭配着GitHub玩才够味的,不过先来学习一些本地的指令先把! 当你安装完Git后我们可以在任意位置右键,点击Git bash打开我们的Git命令行! 你可以可以点击Git Init Here直接在当前目录下创建一个代码仓库,又或者点击Git Gui打开Gui的图形操作页面!

1.创建代码仓库

Step 1:先配置下我们的身份吧,这样在提交代码的时候Git就可以知道是谁提交的,命令如下:

git config --global user.name "coder-pig"
git config --global user.email "779878443@qq.com"

配置完成后,我们可以再次输入,不包括名称,可以看到我们已经配置成功了

Step 2:找个地方创建我们的代码仓库,然后我创建了一个新的项目:TestForGit,来到工程的目录下,右键,打开我们的Git Bash,键入下述指令完成代码仓库的建立!另外这个代码仓库其实是用来保存版本管理所需的一些信息,我们本地提交的代码都会提交到代码仓库中,于是乎我们可以选择还原到某个版本,当然,如果需要的话,我们还可以将保存在代码仓库中的代码推送那个到远程仓库中!比如GitHub!

git init

一个简单的代码,代码仓库就创建完毕了!继续输入:ls - al可以看到下目录下有个.git的文件夹就是他了!

也可以打开工程目录,同样看也看到.git文件夹;如果我们想删除代码仓库只需把这个文件夹删掉即可!

2.提交本地代码

创建完代码仓库,接下来说下如何提交代码,我们是先用add命令把要提交的内容都加进来,然后commit才是真的去执行提交操作!命令例子如下,你可以一次次慢慢添加,当然也可以全部提交,直接git add .即可完成! 我们现在工程目录下创建一个readme.txt的文件试试,随便写点东西,然后依次输入下述指令:

 git add readme.txt
 git commit -m "Wrote a readme file"

输入命令试试:

当然,也可以先把多个文件统一 add 进去,再一次性 commit。可一旦改动的文件很多,通常会直接用 git add . 全部加入。不过这里有个前提:有些文件或目录本来就没必要提交,比如长期几乎不变的内容,或者自动生成的文件,像 lib、gen、bin 这些文件夹就很典型。更稳妥的做法,是在代码仓库根目录新建一个名为 .gitignore 的文件,然后在里面写好规则,把不需要提交的文件统一忽略掉。

接着输入要提交时忽略的文件内容即可!

这样一来,执行 git add . 的时候,这里的文件就不会被 add 进去了。另外,很多人会觉得 commit 后面再写个 -m "xxx" 挺麻烦,想省掉这一步,但这句提交说明还是尽量别偷懒。它记录的就是这次提交到底改了什么、补了什么。道理其实和写代码注释差不多:当下觉得没必要,过几天再回头看,很可能连自己当时改了些什么都想不起来。

3.查看修改内容

好吧,前面我们用git add提交了整个项目到本地仓库,接下来我们改点东西,然后使用git status可以查看 修改的部分,比如,我们删掉MainActivity.java里的菜单的代码以及多余的菜单相关的包!

他就会提示我们哪些文件发生了改变,但是还没有提交,如果我们想看下具体更改了什么,我们可以用到git diff命令,另外,按Q可以退回命令行输入!

4.查看提交记录

当然随着我们项目的深入,Commit的次数也会越来越多,可能你早已忘记每次提交都修改了什么内容, 没事,Git帮你记着呢,使用git log即可查看历史提交信息!键入

git log

回车:

我们取其中一小部分来分析:

commit defd8af52be5183dfceb3e5cf23f78ea47d013b0
Author: coder-pig <779878443@qq.com>
Date:   Fri Jun 19 17:00:36 2015 +0800
MainActivity Delete Menu

依次是:

  • 此次提交对应的版本号
  • 提交人:姓名 邮箱
  • 提交的时间
  • 提交版本修改的内容:就是我们commit -m "xxx"里的xxx

5.撤销未提交的修改

比如我们刚提交了一个版本,然后又乱七八糟地写了一堆东西,突然发现不小心误删了一些东西,然后ctrl + s保存了,这个时候是不是欲哭无泪,不过有Git,只需一个checkout命令即可撤销更改,当然是你还没add的情况,比如我们在MainActivity里随便添加一条语句,然后ctrl + s保存代码!

然后命令行键入:git diff:

嗯,这里可以看到我们改的内容,我们可以回去把这句代码删掉,但是如果改的有上千行你怎么改, 于是乎这个时候我们可以使用

git checkout src/com/jay/example/testforgit/MainActivity.java

然后会神奇的发现,我们新写的代码没了!duang一下就没了,不信你可以自己试试

当然,如果我们已经add了的话,那么checkout是没任何作用的,我们要先取消添加才可以撤回提交,使用下述指令:

git reset HEAD src/com/jay/example/testforgit/MainActivity.java
git checkout src/com/jay/example/testforgit/MainActivity.java

6.版本回退

第五点我们教了大家撤销未提交的修改,但加入提交了,我们想回退到之前的某一个版本怎么办? 第四点中我们可以通过git log查看我们的提交记录,我们需要从这里获取一个版本号, 一般我们只需要前七位字符就够了;另外在Git中,用HEAD代表当前版本,上一个版本就是HEAD^, 再上一个版本就是HEAD^^依次类推!我们先Git Log看下版本历史先!

我们回到前一个提交的版本吧,依次键入下述指令:

 git reset --hard HEAD
 git reset --hard HEAD^
 git log

这时看下我们的控制台:

可以看到我们已经回退到了前一个版本了,当然你可以直接这样写:

git reset --hard ad2080c

就是这么简单!回退后,你突然后悔了,想回退回新的那个版本, 可是遗憾的是,你键入git log却发现没有了最新的那个版本号,这怎么办呢... 没事,Git中给你提供了这颗"后悔药",Git记录着你输入的每一条指令呢!键入:

git reflog

你会发现,版本号就在这里:

然后键入:

git reset --hard ad2080c

可以看到我们又回到了最新的那个版本了,就是这么溜!

7.本节小节

本节给大家介绍了项目管理工具Git来管理我们的本地仓库,学习了一些基本的命令行操作,相信会给你的项目开发带来便利,当然本地远远是不够的,下一节我们将学习如何将我们的项目托管到GitHub上!敬请期待~

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
系统应用 使用教程
相关文章 更多
精品专题 更多
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

macOS软件

正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

IOS软件

正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

AI

正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

Mac软件 更多
WPS Office macOS版
WPS Office macOS版

WPS Office是一款面向macOS用户的综合办公套件,将文字处理、电子表格、演示文稿、PDF工具、模板与云协作整合在同一应用中。它兼容常见Microsoft Office格式,支持Intel及Apple芯片Mac,基础功能可免费使用,

Shapr3D macOS版
Shapr3D macOS版

Shapr3D是一款面向工业设计、机械工程、建筑概念和三维打印工作流的CAD软件。Mac版采用Parasolid建模内核,支持草图约束、实体建模、工程图、可视化渲染及常见CAD格式交换,并可通过账户在多台设备之间同步项目。

REAPER macOS版
REAPER macOS版

REAPER是Cockos开发的数字音频工作站,提供多轨音频与MIDI录制、剪辑、处理、混音和母带制作工具。Mac版兼容Intel与Apple芯片,支持AU、VST、VST3、CLAP等插件格式,并提供高度可定制的工作流程。

Ableton Live macOS版
Ableton Live macOS版

Ableton Live 是面向音乐制作人与现场表演者的数字音频工作站,提供编曲视图、独具特色的现场视图、音频录制、MIDI创作、实时变速、乐器及效果器。Mac版原生支持Apple芯片,并可连接音频接口、MIDI控制器和第三方插件。

Adobe After Effects macOS版
Adobe After Effects macOS版

Adobe After Effects 是面向动态图形、影视特效与视频合成的专业创作软件。它提供关键帧动画、遮罩抠像、运动跟踪、三维空间、文字动画和表达式等工具,并可与 Premiere Pro、Photoshop、Illustrator

Adobe Audition macOS版
Adobe Audition macOS版

Adobe Audition 是面向播客、影视后期、音乐制作及内容创作者的专业音频工作站,提供波形精修、多轨录制与混音、频谱编辑、降噪修复、响度匹配和效果处理工具,并可与 Adobe Premiere 协同完成视频声音制作。

Adobe Bridge macOS版
Adobe Bridge macOS版

Adobe Bridge 是面向摄影师、设计师及内容团队的免费数字资产管理工具,可集中预览照片、视频和 Adobe 项目文件,并利用评级、标签、关键词、元数据、筛选与收藏集完成分类检索。它还支持批量重命名、格式导出、相机导入及 Camera

Adobe Illustrator macOS版
Adobe Illustrator macOS版

Adobe Illustrator 是 Adobe 推出的专业矢量图形设计软件,适合在 Mac 上制作标志、图标、插画、包装、信息图及印刷版面。它以路径和锚点构建可无损缩放的图形,并提供钢笔、形状、文字、图像描摹、渐变、画板及生成式功能。

Adobe InDesign macOS版
Adobe InDesign macOS版

Adobe InDesign 是面向印刷品与数字出版物的专业版面设计软件,可在 Mac 上制作书籍、杂志、宣传册、海报、报告及交互式文档。它提供精细的文字样式、网格、母版、长文档管理和印前输出能力。

Adobe Lightroom Classic macOS版
Adobe Lightroom Classic macOS版

Adobe Lightroom Classic 是面向桌面摄影工作流的照片管理与后期处理软件,可将原始照片保存在本地硬盘,通过目录、关键词、评分和收藏夹高效整理图库,并提供 RAW 冲印、蒙版、镜头校正、批量同步及多格式导出等功能。

Adobe Media Encoder macOS版
Adobe Media Encoder macOS版

Adobe Media Encoder 是 Adobe 推出的专业音视频编码与转码工具,可通过队列、预设和监视文件夹批量完成格式转换、代理文件创建及多平台成片输出,并与 Premiere Pro、After Effects 等软件紧密协作。

Adobe Photoshop macOS版
Adobe Photoshop macOS版

Adobe Photoshop 是面向摄影师、设计师和内容创作者的专业图像处理软件,提供图层、蒙版、选区、修复、调色、文字排版、智能对象及生成式编辑等能力。Mac 版支持 Intel 与 Apple Silicon 处理器。

WINDOWS 更多
AutoCAD Windows版
AutoCAD Windows版

AutoCAD 是 Autodesk 推出的专业计算机辅助设计软件,Windows 版支持精确二维绘图、三维实体与曲面建模、图纸标注、布局发布和任务自动化,并包含多套行业专业化工具组合,适用于建筑、机械、电气、工程建设及制造设计人员。

SketchUp Pro Windows版
SketchUp Pro Windows版

SketchUp Pro 是面向建筑、室内、景观、施工和产品设计等专业场景的三维建模工具,提供桌面建模、LayOut 二维文档、模型资源库、扩展程序及云端协作能力。其操作逻辑直观,适合从概念推敲、空间规划到图纸表达和方案汇报的完整工作流程。

AutoCAD LT Windows版
AutoCAD LT Windows版

AutoCAD LT 是 Autodesk 推出的专业二维 CAD 软件,适合建筑师、工程师、施工人员和设计师完成精确绘图、标注及文档编制。它支持 DWG 工作流、智能块、图形比较、计数、表格和 AutoLISP 自动化,

Rhino 3D Windows版
Rhino 3D Windows版

Rhino 3D 是 McNeel 推出的专业三维建模工具,可创建、编辑和分析 NURBS 曲线曲面、实体、网格、SubD 与点云。Windows 版支持精确造型、工程制图、渲染、文件转换及 Grasshopper 参数化设计,

Autodesk Fusion Windows版
Autodesk Fusion Windows版

Autodesk Fusion 是面向产品设计与制造的云连接开发平台,在统一环境中整合三维 CAD、CAM、CAE、PCB、工程图、数据管理和团队协作功能,适合产品设计师、机械工程师、电子工程师及加工制造团队完成从概念建模、验证分析到生产交

Archicad Windows版
Archicad Windows版

Archicad 是 Graphisoft 面向建筑师、设计师、工程师及 BIM 团队开发的建筑信息模型平台。它把三维建筑建模、施工文档、数据管理、专业协调、实时协作和可视化集中在统一项目环境中,适合从概念方案到施工交付的完整建筑设计流程。

Vectorworks Architect Windows版
Vectorworks Architect Windows版

Vectorworks Architect 是面向建筑师、室内设计师和建筑顾问的综合设计与BIM平台,覆盖概念草图、二维制图、三维建模、施工文档、数据报表、可视化及开放式协作。它强调自由造型与数据化建筑对象并存,

Shapr3D Windows版
Shapr3D Windows版

Shapr3D 是一款基于 Siemens Parasolid 几何内核的专业三维CAD软件,可在 Windows 电脑和平板设备上完成草图绘制、实体建模、参数化修改、模型可视化及技术图纸制作。软件提供免费基础方案,

FreeCAD Windows版
FreeCAD Windows版

FreeCAD 是面向机械设计、产品开发、建筑建模和创客项目的免费开源参数化三维 CAD 工具。它可在 Windows 上完成约束草图、实体零件、装配、工程图、BIM、有限元分析及 CAM 等任务,

Twinmotion Windows版
Twinmotion Windows版

Twinmotion 是 Epic Games 推出的实时三维可视化工具,可导入常见 CAD、BIM 与三维模型,通过材质、环境、植被、灯光及动画资源快速构建场景,并输出图片、视频、全景图和交互演示。

BricsCAD Windows版
BricsCAD Windows版

BricsCAD 是以 DWG 为核心格式的专业 CAD 平台,可用于二维制图、三维建模、工程文档与设计协作。产品按 Lite、Pro、BIM、Mechanical 和 Ultimate 等层级提供不同工具,

Ableton Live Windows版
Ableton Live Windows版

Ableton Live 是面向音乐创作、录音、编曲、声音设计、混音与现场演出的数字音频工作站。它将适合即兴触发素材的 Session 视图与传统时间线编曲结合,并提供音频变速、MIDI工具、软件乐器、效果器和声音资源,