新的开始,新的篇章,git分布式版本控制系统

2019-04-15 17:19发布

新的开始,最近刚换了工作,也算是有点跨行了,之前工作了两年一直是在做单片机的相关开发,大三的时候参加过嵌入式的培训,学过32单片机和Linux,工作之后一直希望自己能够进入Linux的领域,无奈却做了两年的单片机,工作中接触到了什么51,430,stm8,stm32,还有新塘这些单片机,上一份工作是视频监控的,个人还是很看好这个行业的,但是我也只是里面负责单片机的开发工作,干了一年感觉没什么意思,也不是说我单片机玩的很6了,其实只是内心还是希望能洗出操作系统方面的功能,后来跳到现在这家公司,是做通信的,从事系统底层驱动开发,也算是自己想做的工作,希望我能拿在这份工作中学到更多的东西。 换了新工作,很多东西都是新的,都需要重新学,来了又一个月了,也逐渐对我们的系统有了些概念,就想着写点东西记录下自己的成长,其实写博客也是对自己的鞭策,个人其实还是比较懒得,希望以后能慢慢养成写博客的习惯,从现在开始,每周至少写一篇博客,博客内容可能是我最近学习的,也可能是我以前总结的知识点。大家一起来学习。 闲话不多说了,先简单总结一下最近新学习的东西。

git分布式版本控制系统:

1:概述

我们在项目开发的过程中,肯定会有很多的软件版本,之前的公司使用SVN来管理版本的,SVN虽然操作比较方便,但是每次的版本存档都会占用内存,很浪费空间,git就不一样,git的每个版本节点其实就像是一个指针一样,保存的是你软件版本的快照,下面是git开发中的文件存储路径,git的安装大家可以到官网上面下载安装包自行安装 上面这两幅图表示我们在进行开始是,软件在各个时期的状态 1>工作区就是我们的本地,我们对代码修改在工作去中会有体现执行git diff可以查看修改内容 2>版本库有分为暂存区和local repository 暂存区是指执行了git add之后文件保存的区域,local repository是指gitcommit后文件保存的分支。 3>远程库是版本最终存放的地方,我们修改软件之后,没有问题后,会向远程库中提交修改

2:相关命令

首先我们需要mkdir 一个文件夹用来存放我们从远程库中下载的代码。 在这个目录中执行repo init建立git版本的克隆,之后执行repo sync下载代码,将代码下载到本地,当然你如果只是学习的话,你也可以在文件夹下自己创建一个文件就行。 当你将代码下载到本地之后,执行repo start 本地分支名 --all建立自己的本地分支,之后你才能在本地进行修改,如果没有此步骤,会影响后续版本的上传 上述操作都做完后,我们就可以进行我们软件修改了,不过在此之前你也可以执行git log来查看一下历史的提交信息,确认一下你下载的是最新的代码,git log 输出的内容就是你每次commit之后的提交信息 1)git diff 本地修改完成之后,执行git diff 可以查看你都做了哪些修改,自检自己的修改有没有遗漏 2)git add            文件修改之后,该修改还在本地修改去,如上图,只有在你执行了git add <文件名> 之后,该修改才会保存在本地版本库的暂存区中 3)git status            git status是一个很有用的命令,他可以查看你当前软件修改保存的仓库状态,并提示你需要做的下一步操作, 4)git commit           git commit  -m 命令可以将你修改从暂存区提交到本地版本库中 5)repo upload        确认无误后,执行repo upload可将此次修改提交到远程库中

3:版本回退

      当你修改了代码之后,发现修改错了,此时我们可以进行版本回退 1)撤销本地修改,当你在本地修改文件后还没有执行git add 提交的暂存区,我们可以用 git checkout --来取消文件修改。 2)当你已经add 之后 ,用命令git reset HEAD 可以把暂存区的修改撤销掉(unstage),重新放回工作区,之后你再执行1处的命令,就可以将本地的修改也撤销了 3)如果你已经commit了,git reset --hard HEAD^可以直接回退到上一版本,本地源代码也回退到上一版本。执行git reset -soft HEAD^只撤销commit,然后依次执行 2 , 1。HEAD后面也可以是历史的commit号 ,可以用git log获取 这些只是Git的一些基本的操作 ,版本修改提交的基本操作,后续会会大家继续更新更多的相关知识