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. linux 复制文件前n行到另外一个文件

    head -n 100 train.txt > 123.txt head -100 train.txt > 123.txt

  2. tcp/ip原理/三次握手/四次挥手

    @ tcp/ip原理 1.1 tcp/ip三次握手 1.1.1 建立过程说明 a)   由主机A发送建立TCP连接的请求报文, 其中报文中包含seq序列号, 是由发送端随机生成的, 并且还将报文中SY ...

  3. Python+Selenium基本语法

    对Selenium自动化已有了解,最近开始做h5端的自动化,所以总结了下Python+Selenium自动化基本语法 一.启动浏览器 1.普通方式启动 #coding=utf-8 import tim ...

  4. Git 工作原理以及常用命令操作

    GIT工作原理 要了解GIT工作原理,先了解GIT的这几块区域: 工作区域划分 工作区:指的是本地工作空间,如果刚拉取下来的代码,没有修改的内容,这块区域是空白的 (modified-已修改状态) 暂 ...

  5. Sql Server 数据把列根据指定的内容拆分数据

    今天由于工作需要,需要把数据把列根据指定的内容拆分数据 其中一条数据实例 select id , XXXX FROM BIZ_PAPER where  id ='4af210ec675927fa016 ...

  6. 来感受Linux命令行的“真香定律”

    Shell看起来只是一个黑黑的命令框,刚开始接触会觉得很丑,毕竟与Win/Mac的华丽界面比起来,命令行终端直接可以丑拒了.但是,实际上它的功能要强大得多,毕竟Linux一开始就是广泛应用于服务器,通 ...

  7. mysqldump备份数据

    create database test; use test; create table test(id int,name char(8)); insert into test values(1,'p ...

  8. MySQL-常见小疑惑

    1. DISTINCT 多列去重 1.1 select DISTINCT a,b 实际含义是? 正确:排除 (a列重复且b列重复)的记录  错误:排除 a b两列 值合并后 重复的记录. 举例1: 去 ...

  9. python 类和方法(面向对象)

    类和方法 name = "Jack" city = "bejing" print("my name is %S and come from %s &q ...

  10. 使用caddy实现非标准端口https

    近来使用Halo搭建博客,并顺便把WeHalo小程序也把玩了起来,但是发现几个非常棘手的问题: 根据访问日志发现有三方在刷取关键接口的请求,http请求在部分情况下会暴露出很显著的安全问题: 小程序强 ...