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. ucore操作系统学习(六) ucore lab6线程调度器

    1. ucore lab6介绍 ucore在lab5中实现了较为完整的进程/线程机制,能够创建和管理位于内核态或用户态的多个线程,让不同的线程通过上下文切换并发的执行,最大化利用CPU硬件资源.uco ...

  2. 恋爱话术库撩妹至尊VIP版

    本软件来自互联网,解锁永久至尊VIP 是一款教你撩妹密语软件.和女生聊天没有话题? 不知道怎么逗乐女生? 女生生气了不会哄? 不知道怎么让女生愿意跟你聊下去? 不知道女生对你有没有意思? 遇到不知道怎 ...

  3. 七牛云上传视频(后端获取tolen)

    参照网址 https://developer.qiniu.com/kodo/sdk/1242/python #pip install qiniufrom qiniu import Auth #需要填写 ...

  4. Fastjson 1.2.47 远程命令执行漏洞复现

    前言 这个漏洞出来有一段时间了,有人一直复现不成功来问我,就自己复现了下,顺便简单记录下这个漏洞原理,以便后面回忆. 复现过程 网上已经有很多文章了,这里就不在写了.主要记录一下复现过程中遇到的问题 ...

  5. 用burp爆破tomcat的过程

    首先burp抓包,将抓到的包放到intruder中 通过burp中自带的解码得知账号密码中有个":"号 所以我们选择的数据类型为Custom iterator 第二条输入" ...

  6. mysql锁机制 读书笔记

    目录 MySQL锁机制 1.什么是锁 2.lock与latch 3.InnoDB存储引擎中的锁 3.1锁的类型 3.2 一致性非锁定读 3.3 一致性锁定读 4 锁的算法 4.1行锁的3中算法 4.2 ...

  7. Python:大神用的贼溜的实用技巧分享

    整理字符串输入 整理用户输入的问题在编程过程中极为常见.通常情况下,将字符转换为小写或大写就够了,有时你可以使用正则表达式模块「Regex」完成这项工作.但是如果问题很复杂,可能有更好的方法来解决: ...

  8. matlab双坐标轴设定

    clc; clear all; close all; x1 = 0:.1:40; y1 = 4 * cos(x1)./(x1 + 2); x2 = 1:.2:20; y2 = x2.^2 ./ x2. ...

  9. Autofac的基本使用---目录

    目录 Autofac的基本使用---1.前言 Autofac的基本使用---2.普通类型 Autofac的基本使用---3.泛型类型 Autofac的基本使用---4.使用Config配置 Autof ...

  10. 给因特尔S2600CO服务器主板安装【SAS控制器】驱动

    给因特尔S2600CO服务器主板安装[SAS控制器]驱动 1:首先打开[设备管理器]找到未识别驱动的[SAS控制器]双击进入 2:在[详细信息]选项卡,选择[兼容Id]属性可以看到PCI\VEN_80 ...