0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于Git教程解析

xCb1_yikoulinux 来源:一口Linux 作者:一口Linux 2022-04-27 14:54 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1 参考教程

☆Git官方文档

https://git-scm.com/book/zh/v2

☆ 廖雪峰的Git教程

https://www.liaoxuefeng.com/wiki/896043488029600

2.Git的作用

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

3.安装Git

3.1Linux 系统下安装

一般Linux系统都会自带git命令。

如果没有,使用如下命令安装即可:

sudoapt-getinstall git

3.2 Windows系统下安装

除官网下载安装程序外,一般还会下载小乌龟的图形界面客户端和语言扩展包。如下图:

c74875b0-c5de-11ec-bce3-dac502259ad0.png

安装完成后右键会出现如下几个选项(开始是英文):

c757abfc-c5de-11ec-bce3-dac502259ad0.png

在设置选项中更改成中文即可。

c7656008-c5de-11ec-bce3-dac502259ad0.png

点击网络选项,设置下图的SSH路径,找git的安装路径(即第一个软件的路径),根据自己实际修改。完成后点击确定即可。

c77808c0-c5de-11ec-bce3-dac502259ad0.png

上面SSH客户端路径请一定选择正确,注意是usr/bin下的ssh.exe

3.3 使用Gitbash终端

Git bash是windows下模拟Linux的终端,支持常用的linux命令,比如ls等。

c789d320-c5de-11ec-bce3-dac502259ad0.png

点击右键菜单中的GitBash Here选项,会弹出如下Gitbash界面。

c7a116e8-c5de-11ec-bce3-dac502259ad0.png

3.4 生成主机密钥

ssh-keygen-t rsa -C "xxxx@xx.com"

一路回车,直到命令执行结束。终端会提示生成密钥的路径。

c7ae557e-c5de-11ec-bce3-dac502259ad0.png

id_rsa.pub文件的内容即对外公钥,可配置到远程服务器中,配置完成后往远程服务器推送即可不用每次再输入用户名和密码。

c7bbc402-c5de-11ec-bce3-dac502259ad0.png

4.Git管理区域

4.1 区域划分

☆ 工作区

即我们新建git仓库后在电脑上看到的目录,此区域内文件改动完全由我们自己掌控,Git不进行备份管理,可以随时把新增工作区内容通过Git命令删除或者增加到暂存区。

☆ 暂存区

暂存区是个比较虚拟的概念,可以理解为工作区和版本库之间的过渡,当用户想简单备份工作区内容,但又不想做版本提交,就可以将工作区内容暂时存放到暂存区,此区域的内容可方便的还原回工作区,或者作为正式版本提交到版本库。

☆ 版本库

Git版本管理的核心,存储着每一个版本的备份。

☆ 远程库

远端服务器,即上文中提到的“中央服务器”,仅用来作为开发者之间的版本仓库同步使用。

5.Git命令

5.1 基础命令

配置用户信息 gitconfig --global user.name "zhangsan" gitconfig --global user.email "xxxx@xx.com" 配置的信息用作提交版本时标识提交者用户名和邮箱地址。 查看当前配置 gitconfig -l 初始化仓库 git init 将工作区内容添加到暂存区 git add 查看仓库当前的状态 gitstatus 查看文件修改 git diff

5.2 版本控制

c7d0b312-c5de-11ec-bce3-dac502259ad0.png

将暂存区的内容提交到版本库 gitcommit -m "版本修改信息" 将暂存区内容放回工作区 gitreset HEAD 将工作区内容丢掉 gitcheckout 查看当前版本以前的历史 git log 查看当前版本前后所有的历史 gitreflog 回退一个版本 gitreset --hard HEAD^ 回退到某个版本 gitreset --hard

5.3 分支管理

c7e094da-c5de-11ec-bce3-dac502259ad0.png

创建新的分支 gitcheckout -b dev相当于gitbranch dev + git checkout dev两个命令的集合 列出所有分支并用*标注当前分支 git branch 切换回name分支 git checkout 把name分支合并到当前分支 git merge 删除name的分支 git branch -d

分支管理参考图

c7ee4fc6-c5de-11ec-bce3-dac502259ad0.png

5.4 远程仓库 (常用代码托管平台)

☆ Github

开源项目的聚集地,世界最大的代码托管平台。很多著名的项目都在Github开源,比如Linux源码、Qt源码等。缺点:国内经常无法访问,速度比较慢。

☆ Gitlab

Gitlab支持公有仓库和免费的私有仓库,体验和Github类似,常用作搭建的企业内网代码托管平台。公有仓库国内经常无法访问,速度比较慢。

☆ 码云

国内代码托管的老大,一个账号最多可以创建1000个项目,不分公有和私有。速度非常快,体验较好。但是单文件大小不能超过100M。

☆ 相关命令

克隆远程仓库 gitclone <远程地址> 本地推送到远程 git pushorigin <分支名> 从远程拉取更新 git pull

☆ 配置别名

git config --global alias.st statusgit config --global alias.ci commitgit config --global alias.br branchgit config --global alias.ch checkout

6.TortoiseGit使用

6.1 操作演示

克隆项目

c82bf768-c5de-11ec-bce3-dac502259ad0.png

c839200a-c5de-11ec-bce3-dac502259ad0.png

撤销工作区修改

c84566a8-c5de-11ec-bce3-dac502259ad0.png

版本提交

c8608276-c5de-11ec-bce3-dac502259ad0.png

c86b8db0-c5de-11ec-bce3-dac502259ad0.png

拉取更新

c8844350-c5de-11ec-bce3-dac502259ad0.png

c88f63e8-c5de-11ec-bce3-dac502259ad0.png

c8844350-c5de-11ec-bce3-dac502259ad0.png

推送更新

c8aa8db2-c5de-11ec-bce3-dac502259ad0.png

end

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制系统
    +关注

    关注

    41

    文章

    7002

    浏览量

    114602
  • Git
    Git
    +关注

    关注

    0

    文章

    207

    浏览量

    17093

原文标题:Git教程,这一篇就够了

文章出处:【微信号:yikoulinux,微信公众号:一口Linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    OBC架构演进与拓扑设计全局解析:单向两级→高效两级→双向与集成→单级拓扑-&amp;gt;去 OBC化

    以下完整内容发表在「SysPro电力电子技术」知识星球-关于电动汽车车载充电器(OBC)全解析系列文章-「SysPro电力电子技术」知识星球节选,非授权不得转载-文字原创,素材来源:NXP
    的头像 发表于 04-24 08:26 531次阅读
    OBC架构演进与拓扑设计全局<b class='flag-5'>解析</b>:单向两级→高效两级→双向与集成→单级拓扑-&amp;gt;去 OBC化

    关于SN54BCT8244A和SN74BCT8244A扫描测试设备的技术解析

    关于SN54BCT8244A和SN74BCT8244A扫描测试设备的技术解析 在电子设计领域,测试设备的性能和功能对于确保电路的可靠性和稳定性至关重要。SN54BCT8244A
    的头像 发表于 04-23 12:05 231次阅读

    英伟达AI数据中心终极供电方案—固态变压器(SST)的全景解析:从概念到量产的工程设计与决策参考指南

    以下完整内容发表在「SysPro电力电子技术」知识星球-关于固态变压器(SST)的全维解析全维解析系列文章-「SysPro电力电子技术」知识星球节选,非授权不得转载-文字原创,素材来源:TI,华为
    的头像 发表于 04-10 09:31 1793次阅读
    英伟达AI数据中心终极供电方案—固态变压器(SST)的全景<b class='flag-5'>解析</b>:从概念到量产的工程设计与决策参考指南

    比亚迪动力域控 · 全维解析与设计参考指南

    以下内容发表在「SysPro电力电子技术」知识星球-关于比亚迪八合一动力域控制器的全面解析系列文章-「SysPro电力电子技术」知识星球节选-文字原创,素材来源:BYD,YOLE,AVL,Hofer
    的头像 发表于 02-14 11:51 2289次阅读
    比亚迪动力域控 · 全维<b class='flag-5'>解析</b>与设计参考指南

    嵌入式开发绕不开的版本管理工具——git

    Git是一个开源的分布式版本控制系统,由Linux之父Linus Torvalds于2005年用C语言开发,主要是为了帮助管理Linux内核开发而创建的一个开放源码的版本控制软件。Git与常用的版本
    的头像 发表于 01-30 16:47 1553次阅读

    驱动电机技术突破指南:定子与绕组设计要素的全景解析

    -关于电驱动系统技术进展:聚焦定子与绕组技术解析-文字原创,素材来源:PEM,KIT,ENEDY,Vetisco,Hoganas,SWD等-本篇为知识星球节选,完整版报告与解读在知识星球发布
    的头像 发表于 01-20 10:03 3443次阅读
    驱动电机技术突破指南:定子与绕组设计要素的全景<b class='flag-5'>解析</b>

    驱动650V CoolGaN™ GIT G5用于电机控制应用:IFX SOI EiceDRIVER™驱动器的探索

    驱动650V CoolGaN™ GIT G5用于电机控制应用:IFX SOI EiceDRIVER™驱动器的探索 在电机控制应用领域,如何高效、安全地驱动功率开关器件是工程师们关注的重点。今天,我们
    的头像 发表于 12-18 11:50 838次阅读

    Labview 解析dxf文件并显示

    上一期开了一个帖子讲Labview导入dxf文件,解析和显示dxf文件,今天继续继续分享常用图元的解析与显示方法。 LINE :用文本方式打开dxf 文件,搜索出直线部分,并摘取,可以得到
    发表于 12-01 11:28

    Labview 解析dxf文件并显示<一>

    Labview软件开发过程中,大家会遇到导入dxf文件的需要,今天开个帖子,聊聊如何解析和显示dxf文件,同时用图表来显示。 首先来介绍下dxf, 简单来说他就是图形文件的一种文本格式,具有固定
    发表于 11-14 22:45

    AT组件无法正确解析bin文件怎么解决?

    通过ESP32接受网络数据,然后写入MCU中,但是发现在解析bin文件的时候,会自动添加字符。应该是换行符号的解析出现了问题。有什么好办法吗?
    发表于 09-28 08:36

    mqtt dns解析失败是为什么?

    解析域名的ip地址就能正常连上,而直接解析域名就不行,为什么呢
    发表于 09-16 06:38

    什么是柯肯达尔空洞?

    关于ENIG焊盘焊接中柯肯达尔空洞与Ni氧化问题的技术解析
    的头像 发表于 07-25 09:17 1441次阅读
    什么是柯肯达尔空洞?

    Git vs Perforce P4:版本控制系统选型指南(附适用场景、团队类型)

    Git适合小团队灵活开发,而Perforce P4更擅长管理大型项目与二进制资产。但你真的了解它们各自最适合的使用场景吗?或许不是“非此即彼”,而是“如何共存”,推荐一读!
    的头像 发表于 06-19 17:04 1713次阅读
    <b class='flag-5'>Git</b> vs Perforce P4:版本控制系统选型指南(附适用场景、团队类型)

    Tesla Cybertruck拆解视频与技术方案的全面解析:整车电路原理图、线控转向、48V架构、动力电池、车身、底盘及

    以下内容发表在「SysPro系统工程智库」知识星球-关于TeslaCybertruck拆解视频与技术方案解析-第三次更新,补充前瞻技术方案报告-文字原创,素材来源:Youtube、Tesla-完整
    的头像 发表于 06-19 05:59 1722次阅读
    Tesla Cybertruck拆解视频与技术方案的全面<b class='flag-5'>解析</b>:整车电路原理图、线控转向、48V架构、动力电池、车身、底盘及

    主流版本控制工具Git vs Perforce P4:架构模式、性能、大文件管理及分支管理对比详解

    Git vs Perforce P4,如何选型?架构模式、性能、大文件管理、分支策略四大维度对比,帮你全面了解两者的核心差异,选择更合适你团队需求的版本控制系统。
    的头像 发表于 06-13 14:52 1044次阅读
    主流版本控制工具<b class='flag-5'>Git</b> vs Perforce P4:架构模式、性能、大文件管理及分支管理对比详解