OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4029|回复: 0

Git使用教程(命令行版)!

[复制链接]

1117

主题

1128

帖子

2

精华

超级版主

Rank: 8Rank: 8

积分
4666
金钱
4666
注册时间
2019-5-8
在线时间
1224 小时
发表于 2021-8-20 10:52:19 | 显示全部楼层 |阅读模式
本帖最后由 正点原子运营 于 2021-11-1 10:39 编辑

以下文章摘自微信公众号——开源电子网《Git使用教程(命令行版)!》
更多技术文章,请扫下方二维码关注

开源电子网,扫码2222222.png





第一节 本文讨论的内容


   Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。其可运行于Linux、MacOS、Windows平台。Git已经成为各大公司管理项目版本的首选!

   Git可以使用简单直观的GUI图形化界面进行使用,但并不是所有平台和场景都可以使用Git的图形化界面。更多情况下,我们都是使用Git的命令行进行操作,那么本文讲解一下如何使用Git命令行进行相关操作。



第二节 认识一下Git!



① 为什么你要使用Git?分布式版本控制!

  我们先来置身于一个场景,这个场景想必大多数人都会遇到过。如图所示,我们在做一个项目的时候可能需要根据项目需求不断的修改项目相关文件。我们常将项目文件放入同一个文件夹。


1.png

  那么当项目的文件数目特点多的时候,就会显得特别的冗余,如果一个文件就修改了一句话,我们也要重新加入一个文件到文件夹。而且在多人配合的时候,文件数目不仅多,而且难于管理!

  市场有需求就必定有人会做这方面的事情,于是分布式版本控制的概念就此提出来了!它的最大特点就是每个人都拥有着项目的全部资源,每个人的电脑也都是一个完整的版本库!因此它可以不需要联网也能工作,也可以联网上传资源到网络,当别人使用Git打开你的文件,他也会拥有完整的版本库。而且我们的文件也不用再重新命名了,我们可以修改文件过后,将文件提交到仓库便可,然后Git将会帮助我们管理这些不同的版本。

② Git框架

   完整的Git框架有四部分,分别是工作目录(WorkingDirectory)、暂存区(Stage/Index)、资源库(Repository或GitDirectory)、远程仓库(RemoteDirectory)。我们先来看一下这几个概念:


工作目录:所有版本的目录
暂存区:修改文件后,这里临时保存着你当前的修改
资源库:也就是本地仓库!你确定自己修改的文件后,可以将目前确定修改的文件放入这个本地仓库。
远程仓库:网络端的仓库,你可以把Git的项目文件放在指定网络平台保管或者开源。


   上述就是一些概念性的东西,可能初学者不好理解。在这里读者画一张图来表述这个框架的关系,以及和Git命令之间的关系!这幅框架图十分重要,最常使用的命令几乎都在图中标识出来了,希望大家好好理解一下!如下图所示


2.jpg



第三节 在本地使用Git!



① 文件的四种状态

   在第二节笔者描述了Git的框架,那么在此框架下文件就会有4种状态,如下所示:

Untracked状态:未跟踪,也就是文件并不在Git的管理范围内。
Unmodify状态:文件已入库,文件已经处在本地仓库中了!
Staged状态:暂存状态,使用者没有将修改文件存本地仓库中
Modified状态:文件已修改,指的是没有入库的文件修改,和Staged不同,这个文件是没有被加入到库中的。

② 常用命令解析


  1. gitinit      //初始化并创建一个仓库
  2. gitadd .           //添加所有文件到暂存区
  3. gitcommit -m "提交说明"   //提交暂存区中的内容到本地仓库
  4. gitstatus                   //查看所有文件的状态
  5. gitstatus [filename]          //查看指定文件的状态
  6. gitbranch                  //查看本地分支
  7. gitbranch [branch-name]     //新建一个分支,但依然停留在当前分支
  8. gitcheckout -b [branch]      //新建一个分支,并切换到该分支
  9. gitcheckout [branch-name]   //切换到指定分支,并更新工作区
  10. gitbranch -d [branch-name]  //删除本地分支
  11. gitmerge [branch]           //合并指定分支到当前分支
复制代码



③ 实操一下!单分支下使用Git!

先来看一下如何下载安装Git,这里给出下载的地址:

git官网:https://git-scm.com/

安装步骤:无脑下一步就行了!

再来看一下具体如何在单分支下使用Git,方法如下:

初始化并创建一个仓库->添加所有文件到暂存区->提交暂存区中的内容到本地仓库->…

注意所有上述命令的位置应该在相应的文件夹内部使用的!如下图所示。进入文件夹内我们鼠标右键选择“GitBash Here”就可以在这个文件夹打开Git命令行了!(这是Linux风格的命令行,你可以在命令行中执行几乎所有的Linux命令)



3.png

④ 实操一下!多分支下使用Git!

什么叫做多分支?就是一个文件在制作的过程中可能会由一个版本改为多个版本!如下图所示。注意各分支是不会相互影响的!除非你进行了合并这类操作!这个功能只要稍微转变一下,就可以用在多人配合上使用了!


4.jpg



那么在实践3的基础上我们创建一下分支吧,我们一般的步骤是

查看分支->创建分支->查看分支->切换到指定分支->修改文件内容->将修改内容存入暂存区->提交文件到本地仓库…

下图是一个应用示范。我创建一个新分支,然后在新分支中修改文件内容,在返回原来的分支后,会发现修改新分支的内容对原来分支的内容不影响。



5.png



6.png



第四节 配合网络使用Git!

① Gitee与本地主机关联

   笔者在第二节中讲到Git框架,那么框架下有网络相关的操作,也就是说你可以将自己的代码放入网络上保存、共享或者在网络上多人协作开发。我们就以使用Git在Gitee保存我们的代码,并且进行开源为例进行讲解。

   此时我们就需要连接云服务器。对于一个公司而已,他可能会自己搭建这个服务器(一般是GitLab服务器),但我们学习时就使用其它公司开放的云服务进行操作。最有名的Git云服务器就是GitHub了!但是这个是外国的网,速度较慢,我们就使用国内知名的Gitee。

② 网络常用命令解析

  1. gitclone [url]
  2. //获取网络上的远程仓库
  3. gitpush origin 本地分支名字:gitee网络分支
  4. //把当前分支放到网上,如网络分支不存在则网络端自动创建一个分支!
  5. gitpush origin -d BranchName
  6. //删除远程分支
  7. ssh-keygen-t rsa
  8. //生成本机rsa加密密钥
复制代码



③ 注册Gitee并绑定本机

   Gitee的官方网址为:https://gitee.com/,我们进入官网后,填写一下个人信息便可注册完毕!如下图是注册Gitee并登录后的界面图。



7.png



   那么接下来就需要绑定我们的主机了,有读者会问道:不绑定主机可以不?可以的,但是不绑定主机,进行Push操作就需要手动输入账号密码,较为麻烦,建议大家将Gitee绑定到常用的主机上面。绑定主机的步骤如下:

1.进入C:\Users\Administrator\.ssh 目录下,右键打开“Git Bash Here”
2.在命令行窗口输入“ssh-keygen -t rsa”回车确定后,Git会要求你输入相关的信息,此处我用默认信息,也就是一直回车确定。完成后会发现文件夹多了两个文件,如下图所示。

8.png
3.用”记事本”或者”Notepad++”打开“id_rsa.pub”文件,复制里面的内容。
4.在Gitee官方网站登录,点击右侧的头像,进入“设置”,点击安全设置中的“SSH公钥”,然后添加一个公钥,最后直接第三步的公钥粘贴到网页中的公钥中。如下图所示。


9.png
5.点击确定,便可完成本机与Gitee服务器账号的绑定。如下图所示。
10.png

④ 实操一下!配合网络使用Git

   我们在Gitee上创建一个仓库,并将它复制到本地,然后实现云端和本地的同步!步骤如下所示:
1.点击“+”号然后选择新建仓库。

11.png


2.填写仓库的相关信息,如下图所示是我填写的仓库相关信息,开源许可证根据自己的情况选择,读者也可以选择“许可证向导”查看所有的许可证的区别!


12.png

3.我们点击创建,便完成了仓库的创建了!此时Gitee会自动跳转到新创建的仓库!
4.点击“克隆/下载”,然后选择HTTPS协议,复制下载链接。
5.电脑本地选择要存放的文件夹后,右键选择“Git Bash Here”,然后使用命令”git clone https://gitee.com/xiaowen_git/te ... iaowen_git/test.git。则操作如下图所示,会发现本地文件夹中出现了网络上的文件。



13.png


6.在文件夹中加入几个main.c文件,先同步本地仓库,然后在本地上传网络试一下。操作如下图所示。



14.png



15.png



7.最后我们尝试在本地创建一个分支“dev1”,然后将该分支上传到网络试一下。输入以下命令便可完成相关的操作。

16.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 16:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表