• 版本控制系统 git 之基础讲解


    很久之前就用起了git,但都是用在从github上clone项目上,或者hexo的博客提交上,直到前段时间加入了学校的技术中心,需要用git进行文件管理,才去了解了下git的具体使用方式。

    什么是git

    Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。它与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。它不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。

    工作流程

    一般来说,git的工作流程分为以下几步

    • clone Git 资源作为工作目录
    • 在克隆的资源上添加或修改文件  
    • 如果源文件被修改了,可以进行资源更新 
    • 提交前查看修改
    • 提交修改
    • 修改完成后,如发现错误,可以撤回提交并再次修改后重新提交

    基本使用方式

    创建仓库

    首先创建一个文件夹,在文件夹中右键,git bush,键入

    git init

    执行完该命令后,会在当前目录下生成一个.git目录。

    然后我们新建一个readme.txt文件,使用Notepad++打开,随便输入一些内容。

    然后执行下面步骤

    $ git add readme.txt
    $ git commit -m "first"

    这里,git commit -m后面的内容指的是对本次提交的说明,可以输入任何内容。

    版本控制

    我们先进行几步这样的操作,将刚才创建的readme.txt里的内容修改,然后执行提交操作,-m后面的内容就写当前次数,重复两遍差不多。这样,我们就提交了三个版本,版本1: first, 版本2: second ,版本3: third。当然,在实际工作中,并不可能记得每次修改的内容,因此,我们可以用以下命令查看。

    $ git log

    如果我们想退回上一个版本,那么我们可以输入

    $ git reset --hard HEAD^

    然后去查看一下,发现文本内容变为了第二次提交时的内容,再用git log查看,确实回退到了第版本二,那么,这是不是意味着我们退不回去了呢?当然不是,如果你知道版本3的commit id的话,还是可以返回的。commmit id?那是啥?就是在你输入 git log 时,显示的一大串内容中,每一段 commit 后面的那串字符。

    $ git reset --hard id

    输入上面的内容,就可以退回去了,这里 id 不一定要全输完,只需要输如一部分即可,Git会自动去找,但也不能太短,因为Git可能会找到多个版本号,就无法确定是哪一个了。

    同时,git还提供了一个命令

    $ git reflog

    用来记录你的每一次命令,同时,使用该命令时,也会显示被修改的版本的 commit id。

    远程仓库

    前面讲的仓库是属于本地的,但是当这个项目是团队协作的时候,我们就需要远程仓库了。我们可以在github上创建一个仓库,输入本地仓库的文件夹名,根据GitHub的提示,在本地仓库下运行命令:

    $ git remote add origin git@github.com:xxxxx/xxx.git

    添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。

    下一步,就可以把本地库的所有内容推送到远程库上:

    $ git push -u origin master

    推送成功后,可以立刻在GitHub页面中看到远程库的内容已经和本地一模一样,在之后的操作中,只需要输入以下命令即可

    $ git pull
    $ git add .
    $ git commit -m ""
    $ git push origin master

    总结

    这样,关于git的一些基本操作就讲完了,关于其他的一些分支管理、标签管理等就之后用到的时候再做补充了。

  • 相关阅读:
    黄聪:.NET中zip的压缩和解压——SharpCompress
    黄聪:在.NET中使用GeckoFX 29
    【转】C# 开发Chrome内核浏览器(WebKit.net)
    Can annotations be created or edited in ArcGIS Pro?
    ArcGIS Pro 新建一个Aprx,导入Mxd
    ArcGIS Pro项目保存和数据编辑保存
    ArcGIS Pro批量线分割面,也可以线分割线
    ArcGIS Pro 删除选择范围的数据和批量裁剪clip
    ArcGIS Pro NearestVertex和NearestPoint
    ArcGIS Pro打印预览
  • 原文地址:https://www.cnblogs.com/csu-lmw/p/9925560.html
Copyright © 2020-2023  润新知