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

    文章

    6896

    浏览量

    113574
  • Git
    Git
    +关注

    关注

    0

    文章

    205

    浏览量

    16788

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    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

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

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

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

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

    CAN报文流程解析

    CAN报文流程解析,直流充电桩上的CAN通讯解析过程
    发表于 03-24 14:03 10次下载

    源代码加密、源代码防泄漏c/c++与git服务器开发环境

    源代码加密对于很多研发性单位来说是至关重要的,当然每家企业的业务需求不同所用的开发环境及开发语言也不尽相同,今天主要来讲一下c++及git开发环境的源代码防泄密保护方案。企业源代码泄密场景一、在很多
    的头像 发表于 02-12 15:26 894次阅读
    源代码加密、源代码防泄漏c/c++与<b class='flag-5'>git</b>服务器开发环境

    嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-移植前准备之git管理内核源码

    我们前边已经介绍过Git工具,是一个非常实用的代码管理工具。如果验证编译出的内核能够正常启动,就可以将源码用git工具管理起来。可以清楚的了解源码改动记录。如果不小心把源码改乱了还可以进行版本
    发表于 01-23 10:51

    飞凌嵌入式ElfBoard ELF 1板卡-移植前准备之git管理内核源码

    我们前边已经介绍过Git工具,是一个非常实用的代码管理工具。如果验证编译出的内核能够正常启动,就可以将源码用git工具管理起来。可以清楚的了解源码改动记录。如果不小心把源码改乱了还可以进行版本
    发表于 01-22 10:39

    飞凌嵌入式ElfBoard ELF 1板卡-git管理源码之git安装和使用

    git是什么?git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理,也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件
    发表于 01-14 09:08

    【教程】DNS域名解析服务systemd-resolved使用指南

    1.关于DNS解析服务DNS(DomainNameSystem),即域名系统。一句话总结DNS解析服务功能就是,将域名转换为IP地址。DNS解析服务过程中有如下几个角色参与:•待
    的头像 发表于 01-09 19:34 2136次阅读
    【教程】DNS域名<b class='flag-5'>解析</b>服务systemd-resolved使用指南

    云服务器 Flexus X 实例:部署 Gitea,拥有自己的 Git 仓库,管理本地代码

    本篇文章通过部署 Gitea,实现本地 Git 仓库,真实体验了“云服务器 Flexus X 实例”,深感其卓越性能与灵活性。这款实例以其六倍于常的强劲算力,搭配旗舰级的操作体验,广泛适用于高科技
    的头像 发表于 01-07 16:59 759次阅读
    云服务器 Flexus X 实例:部署 Gitea,拥有自己的 <b class='flag-5'>Git</b> 仓库,管理本地代码

    Flexus X 实例 C#/.Net Core 结合(git 代码管理、docker 自定义镜像)快速发布部署 - 让你的项目飞起来~

    前言 ���云端部署新体验,C# Web API 遇上 Git Docker,828 B2B 企业节特惠来袭!Flexus X 实例,为您的 C#应用提供强大支撑,结合 Git 版本控制
    的头像 发表于 12-25 21:15 1029次阅读
    Flexus X 实例 C#/.Net Core 结合(<b class='flag-5'>git</b> 代码管理、docker 自定义镜像)快速发布部署 - 让你的项目飞起来~

    超级干货!本地搭建代码托管平台Gitea

    1关于GiteaGitea是一个轻量级的Git托管服务,也就是基于Git的代码托管平台,类似于GitHub、Gitee等。Gitea相对于其他代码托管平台,是一个可以本地部署的开源项目,非常轻量化
    的头像 发表于 12-19 19:33 1306次阅读
    超级干货!本地搭建代码托管平台Gitea