美文网首页
git使用一git基础概念

git使用一git基础概念

作者: 微斯人_吾谁与归 | 来源:发表于2019-05-24 18:24 被阅读0次

git小白入门

1.什么是git?

git是一个分布式版本控制软件。区别于SVN,每一个用户有一个版本库,当用户需要提交时可以在无网的环境下提交到本地版本库,待有网的时候彼此推送。

2.分布式版本控制(git)与集群式版本控制(cvs svn)的区别

  • 本地版本控制:版本控制就是可以通过记录回到任何一个版本。在集群式版本控制中是通过中央仓库来维护历史版本,每返回一个版本都要访问一次中央仓库。在分布式版本控制中,每个计算机内部都维护着一个版本记录,如果想回退到任何版本,只需要查看自己的版本库就可以,无需联网进入中央仓库。

  • 在分布式版本控制中,当两台计算机(git)需要交互时,需要通过中央服务器(gitHub公用网站\gitLab企业内部)。使用gitHub公开项目不收费,私有项目收费。

  • 无需联网,可以实现本地的版本控制;

  • 可以重写提交说明(svn是无法改变的);

  • 每一次操作都可以回滚

  • 分支系统:如果一个项目在不同应用场景有不同的业务需求,例如一个会议系统,公司A需要稳定性高,性能次要,公司B要求性能高,稳定性次要。可以创建两个分支(branch);

  • 全量:在git的版本控制中,是全量时的,即每次版本变更时,即使变更只有一部分,也为在新版本文件中加入没有修改的部分,组成一个新的完整的版本。即,每一个版本都包含所有的文件。时刻保持数据的完整性。
    而SVN对于版本维护是增量式的,对于一次修改的形成的新版本,SVN在最新版本中只记录修改的部分。在寻找历史版本时,需要拼接原始的没有修改的部分和已经修改的部分组合成一个完整的历史版本。即,每个版本只包含修改部分的文件。

3.git的三种状态(也可以理解为四种)

git在使用时分为三个区:工作区,暂存区,对象区。

正在处理的文件放在工作区,只有在对象区的文件才能提交到gitHub。如果工作区与对象区直接交互,会造成两者交互过于频繁,为了避免这种情况,设立了一个暂存区,每次修改完成后添加(add)到暂存区,然后提交(commited)到对象区,最终推送(push)到服务器。其中暂存区与对象区合并称为版本库(version).

0.已管理(计算机中有诸多文件,但是git不能一次管理所有文件,只有被git管理的文件才能执行以下三种状态)

  1. 已修改(modified)
  2. 已暂存(stated)
  3. 已提价(commited)

4.一些操作示例

  • 自由文件到已管理

    1. 新建一个文件夹,例如gittest

    2. 右键新建的文件夹 -->git bash here

    3. git init#输入语句执行,默认为主分支(master)
      
    快照47.png

打开新建的空文件夹,看到如下图所示,表示该文件已被git所管理(这是个隐藏目录),本机对该文件的所有操作都将记录在这个文件中。

快照48.png
  • 删除版本库操作

    • 直接手动删除

    • rm -rf .git #删除.git目录,并且迭代删除其子目录
      
    快照49.png
快照50.png

删完之后.git文件销售,gittest该文件也不再为主分支

  • 清屏

    clear#或者快捷键 ctrl+L
    
  • 修改文件到已暂存

    touch hello.txt#创建一个文件
    git status#查看git状态
    git add hello.txt#从已修改区到已暂存区
    git status#查看git状态
    
快照51.png 快照52.png
  • 从已暂存回退到已修改

快照53.png
  • 从已修改到已提交

    git add .#暂存所有文件
    git commit#提交文件,会自动跳到vim编辑器,让我们补充提交说明,用shift+ZZ可以退出编辑器
    
    
快照55.png 快照56.png
  • 修改已提交文件

    vi hello.txt#打开文件
    修改文件hello.txt
    git status#查看文件状态,发现文件已变成工作区状态
    git add hello.text#重新暂存
    git commit -m "这是我第二次提交"#当提交说明较短时,可以这样直接写在后面
    
    快照57.png
  • 回滚

git checkout -- hello.txt#(hello前有空格,当在已提交的对象区的文件被修改后,可以回滚到已提交时的状态,放弃修改)
  • 查看提交日志

    git log# 查看所有提交日志。log中一串长字符是分布式id生成器,是用随机数产生的,用于唯一识别某人某次提交。(不重复是理论上的,即重复几率很低,如千亿分之一)
    git log -2#查看最近两次提交日志
    git log --pretty=oneline#按行显示提交日志的主要信息
    git log --pretty=format:"%h -%an ,%ar:%s"#按照自定义格式显示日志:id,作者,时间,说明
    
快照58.png 快照59.png 快照60.png 快照61.png

相关文章

  • git使用一git基础概念

    git小白入门 1.什么是git? git是一个分布式版本控制软件。区别于SVN,每一个用户有一个版本库,当用户需...

  • Git的使用以及常用命令

    Git的使用以及常用命令 1 基础概念 1.1 Git的介绍 Git是一个版本控制系统,用来追踪计算机文件的变化的...

  • Git flow

    Git 基础 概念 仓库 使用Git管理自己的文件,至少一个本地仓库,如果需要在外部网络共享需要使用远程仓库。 本...

  • pycharm 使用git 一些列问题

    使用的基础命令 1. 在pycharm 使用git 首先安装git 软件 pycharm配置git 复制gitli...

  • Git使用

    Git使用 Git使用[#git%E4%BD%BF%E7%94%A8]Git基础[#git%E5%9F%BA%E7...

  • IDEA中Git的使用

    一、GIT基础 1、初始化一个Git仓库,使用git init命令。 2、添加文件到Git仓库,分两步: 使用命令...

  • 【openshift-3】添加Flask等第三方库+部署自己的应

    前提*:请先学习git和flask的简单使用 1、我们的操作只需要基础的git知识,如何使用git:Pro Git...

  • Git 使用记录 - 各种撤销

    @(版本控制)[git] 前面通过 Git使用记录 - 基础 一文记录了平时的一些git基础操作。由于篇幅限制,只...

  • git常用指令

    git常用指令 基础概念?(.git所在的文件路径)工作区(和.git在同一个目录下的文件夹/文件).git:版本...

  • [git] git 学习

    [git] git 学习 起因 被老板喷了,让我回炉重新学一下git 基础使用 其实平常在使用git的过程中都只是...

网友评论

      本文标题:git使用一git基础概念

      本文链接:https://www.haomeiwen.com/subject/nupnzqtx.html