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. 团队作业4-Day5

    团队作业4-Day5 项目git地址 1. 站立式会议 2. 项目燃尽图 3. 适当的项目截图 4. 代码/文档签入记录(部分) 5. 每人每日总结 吴梓华:补充了样式代码以方便调试. 白军强:顺利完 ...

  2. 利用神经网络算法的C#手写数字识别(一)

    利用神经网络算法的C#手写数字识别 转发来自云加社区,用于学习机器学习与神经网络 欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 下载Demo - 2.77 MB (原始地址):handwri ...

  3. Springboot mini - Solon详解(四)- Solon的事务传播机制

    Springboot min -Solon 详解系列文章: Springboot mini - Solon详解(一)- 快速入门 Springboot mini - Solon详解(二)- Solon ...

  4. webstorm2017.02版本如何使用material theme

    本想废话一番,表达对material theme的喜欢.还是直接说方法吧~ file-settings-Plugins-Browse repositories-搜索 material theme -选 ...

  5. 项目中对获取的数据进行下载成Excel表格

    //moment是操作日期的插件  //引入lodash是为了方便操作数据 //xlsx是获取表格的必须插件   import moment from 'moment'; import _ from  ...

  6. 定制iview选择器——全选按钮

    源码下载:https://github.com/littleOneYuan/c_select 本文索引 效果 template data prop methods watch created 效果 下 ...

  7. IOS实现自动定位和手动选择城市功能

    IOS自动定位使用的是高德地图SDK 在高德开放平台http://lbs.amap.com/api/ios-sdk/down/ 下载2D地图SDK和搜索SDK 将SDK导入工程内 按照高德的配置说明进 ...

  8. IOS中将字典转成模型对象

    作为IOS开发初级者今天学习了 如何将plist数据字典转成 数据对象数组中 .有点像C#中解析xml数据 的过程. apps.plist的xml数据是这样的 <?xml version=&qu ...

  9. Hbase各组件职责

    Hbase各组件职责 Client职责 1.HBase有两张特殊表: .META.:记录了用户所有表拆分出来的的Region映射信息,.META.可以有多个Regoin -ROOT-:记录了.META ...

  10. 企业运维案例:xxx is not in the sudoers file.This incident will be reported” 错误解决方法

    CentOS6系统下,普通用户使用sudo执行命令时报错: xxx is not in the sudoers file.This incident will be reported" 解决 ...