git的简单使用方式(基本操作部分)

1.简单介绍GIT的工作流程

git一般的工作流程:

  • 克隆git的资源作为工作目录(一般会使用命令git clone进行克隆);
  • 在克隆的资源上对文件进行增加或者删除;
  • 如果其他人对文件进行了修改,你可以对资源进行更新;
  • 在提交前需要查看修改;
  • 确认无误后提交修改;
  • 修改完成后,如果发现存在错误,撤回提交并且再次修改提交;

git使用流程图示:




2.git的工作区、暂存区和版本库的介绍

  • 工作区:自己在电脑中能看到的目录文件;
  • 暂存区:在英文中称为index(此说明的流程中会这样称呼),会放在.git目录下的index文件夹;
  • 版本库:就是上述所提到的.git目录,这个目录存在于工作区,但是一般情况下是隐藏的,因为.开头的文件默认隐藏;

下面图示简单展示三者之间的关系:



  • 左侧为工作区,右侧为版本库。版本库中标记为"index"的部分是暂存区,标记为master的表示的是master分支所代表的目录树(目录树的名字可以自己决定,比如github上面建议的是main);
  • 图中的"HEAD"实际指向master分支的一个“游标”。所以HEAD可以用master来替换;
  • 右图中的objects标识的区域为git的对象库,实际的位置是".git/objects"目录,里面包含了创建创建的各种对象以及内容;
  • git add命令会更新暂存区的目录树,同时在工作区遭到修改/新增的文件内容会被写入到对象库中一个新的对象,这一对象的ID则会被记录在暂存区的文件索引;
  • git commit命令是将暂存区的目录树写到版本库中,master分支会做出相应的更新。
  • git reset HEAD会对暂存区的目录树进行重写,会被mater分支指向的目录进行替换。
  • git rm --cached 命令,会直接从暂存区删除文件,但是工作区不会受到影响。
  • git checkout .git checkout -- 命令会暂存区全部文件或者指定文件去替换工作区文件。
  • git checkout HEAD .或者git check HEAD 命令中,会用mater分支中的文件或者部分文件替代暂存区以及工作区的文件。

3.创建仓库

使用的命令为git init,因为大多数的git仓库命令都需要在仓库的基础上实现,使用该命令后会在当前目录生成一个.git文件,Git所需要的所有的数据以及资源都放在这个目录里面。

git clone:这个命令也可以创建一个git仓库,准确说他的作用是从现有的git仓库中拷贝一个过来。例如:需要克隆自己的一个github 的仓库,可以使用命令:git clone https://github.com/Tangruilin/My-essay-这一命令会在执行命令的文件夹设置一个与仓库同名(这里是My-essay)的文件,也可以在后面加上自己想要变成的文件名:git clone https://github.com/Tangruilin/My-essay- my_essay

git在使用前还要配置两个必要的条件:git config --global user.name "你的名字"

git config --global user.email "你的e-mail"这里的--global的意思是对本电脑所有的git仓库都采用这个配置,也可以在电脑上某个git仓库的文件夹单独使用命令,这样可以配置某一仓库的使用人以及邮箱。


4.git的基本操作

git常用的几个命令为:

  • git clone(克隆其他地方的仓库
  • git push(将本地仓库推送到远程仓库)
  • **git add(将文件从工作区上传到暂存区) **
  • git commit(将暂存区的元数据更新到本地仓库)
  • git checkout(1.使用暂存区的文件替换工作区的文件(git checkout.和git checkout --)2.使用版本库中最终的仓库里面的文件来替换暂存区以及工作区的文件(git checkout HEAD .和check HEAD ))(谨慎使用,因为这一操作会将工作区文件情况,在工作去为保存的情况下,可能将新执行的操作全部清除)

命令之间的图示关系如下所示:



命令使用的简单示例如下:

1.初始化一个git仓库并将本文件夹的内容推入仓库的操作

git init #仓库初始化
git add . #将执行目录推入暂存区
git commit #将暂存区内容添加到仓库

2.从远程克隆一个仓库下来

git init #初始化本体仓库
git clone ... #从对应的地址下载仓库

3.部分其余的命令

  • git add:将文件添加到暂存区

  • git status: 查看仓库当前的状态,显示有变更的文件(也就是查看仓库和工作区 的差异)

  • git diff:查看暂存区和工作区之间的差异

  • git commit:将暂存区提交的本地仓库

  • git reset: 版本回退操作(可带参数,回退到指定版本

  • git rm, git mv:不用关心,window上使用可以直接在工作去进行移动以及重命名,linux中使用也可以使用rm和mv直接对工作区进行操作,操作系统权限大于git权限


  • git log:查看历史提交记录,log就是日志的意思


  • git remote: 将本地仓库与远程长裤进行连接的操作,示例:git remote add origin https://github.com/Tangruilin/My-essay- 这一操作会把远程的数据库和本地的数据库连接起来。

  • git pull: 下载连接的远程代码库的文件并与本地文件合并

  • git push: 上传远程代码库的文件并与远程代码库合并

git的简单使用方式(基本操作部分)的更多相关文章

  1. linux下git的简单运用

    linux下git的简单运用 windows下也有git,是git公司出的bash,基本上模拟了linux下命令行.许多常用的命令和linux下操作一样.也就是说,windows下的git命令操作和l ...

  2. Github的使用以及Git的简单入门 - 课程作业三

    GitHub创建项目 登录GitHub,在个人主页创建项目(repository) 创建后会生成2个文件,README.md和.gitignore.如图 创建本地仓库 如果是第一次使用git的话,需要 ...

  3. Linux系统下MongoDB的简单安装与基本操作

    这篇文章主要介绍了Linux系统下MongoDB的简单安装与基本操作,需要的朋友可以参考下   Mongo DB ,是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式,备 ...

  4. Hyperledger Fabric:最简单的方式测试你的链码

    一直以来,写完链码进行测试都要先搭建一个Fabric环境,然后安装链码进行测试,实际上Fabric提供了最为简单的方式可以允许我们对编写的应用链码进行功能测试,不需要搭建一个完整的Fabeic环境.而 ...

  5. 【转载】手把手教你使用Git(简单,实用)

    手把手教你使用Git(简单,实用) 标签: git 2016年04月21日 20:51:45 1328人阅读 评论(0) 收藏 举报 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. ...

  6. Https方式使用Git@OSC设置密码的方式

    Https方式使用Git@OSC设置密码的方式 62561_silentboy Zoker3 years ago member https方式每次都要输入密码,按照如下设置即可输入一次就不用再手输入密 ...

  7. git 的简单使用方法

    git 的简单使用方法1. 服务器 安装完成2. ssh 中的账号创建完成3. 创建 ssh 账号,会在 ssh 的安装目录下的home 目录里面,多了用户家目录4. 进入该目录 ,创建一个新的文件夹 ...

  8. java最简单的方式实现httpget和httppost请求

    java实现httpget和httppost请求的方式多种多样,个人总结了一种最简单的方式,仅仅需几行代码,就能够完美的实现. 此处须要用到两个jar包,httpclient-4.3.1.jar.ht ...

  9. 以最简单的方式讲HashMap

      以最简单的方式讲HashMap HashMap可以说是面试中最常出现的名词,这次头条的一面,第一个问的问题就是HashMap.所以就让我们来探讨下HashMap吧. 实验环境:JDK1.8 首先先 ...

随机推荐

  1. Day1-7【Scrum 冲刺博客集合】

    Day1-Day7博客链接 Day1[Scrum 冲刺博客] Day2[Scrum 冲刺博客] Day3[Scrum 冲刺博客] Day4[Scrum 冲刺博客] Day5[Scrum 冲刺博客] D ...

  2. Dell R740 使用U盘安装 CentOS7.4 出现Warning:dracut-initqueue timeout - starting timeout scripts解决办法

    使用使用UltraISO软碟通刻录U盘,然后在Dell R740服务器安装CentOS7.4会出现如下错误: 解决办法: 1.使用blkid确认U盘的盘符,截图如下: 2.按F11键重启 3.进入启动 ...

  3. sql 遍历list

    <select id="findadminSaleList" parameterClass="java.util.Map" resultClass=&qu ...

  4. CentOS7 扩容磁盘非根分区

    CentOS7扩展磁盘分区 ​ 因为业务所在分区空间不足,需要扩容.分配磁盘大小为1T但实际使用过程中发现仅使用了500G左右空间,本次计划在原有磁盘上扩容1T,加上之前500G空闲直接扩容1.5TB ...

  5. 简单的一段css代码让全站变灰,网站哀悼代码

    为表达全国各族人民对抗击新冠肺炎疫情斗争牺牲烈士和逝世通报的深切哀悼,国务院今天发布公告,决定2020年4月4日举行全国性哀悼活动.在此期间,全国和驻外使馆下半旗致哀,全国停止公共娱乐活动,4月4日1 ...

  6. PHP语言基础知识

    目录 前言 第一章 PHP语言学习介绍 1.1 PHP部署安装环境 1.2 PHP代码工具选择 第二章 PHP代码基本语法 2.1 PHP函数知识介绍 2.2 PHP常量变量介绍 2.2.1 PHP变 ...

  7. AWT06-事件处理

    在AWT中,用户的所有操作都要由事件处理来完成.Frame和组件本身没有处理事件的能力. 1.GUI事件处理机制 定义:在某个组件上发生某种操作时,自动触发某段代码. 事件处理涉及4个重要概念: 事件 ...

  8. Rest vs Soap 比较

    一.前言 昨天为止,政府的一个公共部门的项目顺利结束,就系统间消息传输这个点,知识点总结一下.本文主要参考octoperf的文章,链接见文末参考资料. 系统中用到的是SOAP协议进行传输数据,有人会立 ...

  9. 2020年3月16日第一天,今天计划学习:K8S Kubeadm 1.14的完美部署

    ------------恢复内容开始------------ 一.部署docker 1.   部署docker容器虚拟化平台并配置docker的环境 下载新的yum配置文件 wget http://m ...

  10. Django中ORM的使用

    Django中ORM的使用 ORM orm(object-relation-mapping)对象关系映射,即用对象来表示关系数据库中的表: 类 --> 表, 对象-->一行数据 对象的属性 ...