git的简单使用方式(基本操作部分)
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的简单使用方式(基本操作部分)的更多相关文章
- linux下git的简单运用
linux下git的简单运用 windows下也有git,是git公司出的bash,基本上模拟了linux下命令行.许多常用的命令和linux下操作一样.也就是说,windows下的git命令操作和l ...
- Github的使用以及Git的简单入门 - 课程作业三
GitHub创建项目 登录GitHub,在个人主页创建项目(repository) 创建后会生成2个文件,README.md和.gitignore.如图 创建本地仓库 如果是第一次使用git的话,需要 ...
- Linux系统下MongoDB的简单安装与基本操作
这篇文章主要介绍了Linux系统下MongoDB的简单安装与基本操作,需要的朋友可以参考下 Mongo DB ,是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式,备 ...
- Hyperledger Fabric:最简单的方式测试你的链码
一直以来,写完链码进行测试都要先搭建一个Fabric环境,然后安装链码进行测试,实际上Fabric提供了最为简单的方式可以允许我们对编写的应用链码进行功能测试,不需要搭建一个完整的Fabeic环境.而 ...
- 【转载】手把手教你使用Git(简单,实用)
手把手教你使用Git(简单,实用) 标签: git 2016年04月21日 20:51:45 1328人阅读 评论(0) 收藏 举报 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. ...
- Https方式使用Git@OSC设置密码的方式
Https方式使用Git@OSC设置密码的方式 62561_silentboy Zoker3 years ago member https方式每次都要输入密码,按照如下设置即可输入一次就不用再手输入密 ...
- git 的简单使用方法
git 的简单使用方法1. 服务器 安装完成2. ssh 中的账号创建完成3. 创建 ssh 账号,会在 ssh 的安装目录下的home 目录里面,多了用户家目录4. 进入该目录 ,创建一个新的文件夹 ...
- java最简单的方式实现httpget和httppost请求
java实现httpget和httppost请求的方式多种多样,个人总结了一种最简单的方式,仅仅需几行代码,就能够完美的实现. 此处须要用到两个jar包,httpclient-4.3.1.jar.ht ...
- 以最简单的方式讲HashMap
以最简单的方式讲HashMap HashMap可以说是面试中最常出现的名词,这次头条的一面,第一个问的问题就是HashMap.所以就让我们来探讨下HashMap吧. 实验环境:JDK1.8 首先先 ...
随机推荐
- 5、Spring Cloud Ribbon
1.Ribbon简介 (1).Ribbon介绍 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具. Ribbon是Netflix发布的开源项目,主 ...
- python菜鸟教程学习10:数据结构
列表方法 list.append(x):把一个元素添加到列表的结尾,相当于 a[len(a):] = [x]. list.extend(L):通过添加指定列表的所有元素来扩充列表,相当于 a[len( ...
- HTML5中的自定义属性data-*
在html5中,给元素添加自定义属性需要用到data-*,比如data-name,添加完data-自定义属性之后通过元素的dataset属性来访问其值. dataset与getAttribute/se ...
- 2020中国.NET开发者峰会主题内容发布
2020年12月09日,组委会正式发布了China .NET Conf 2020中国 .NET 开发者峰会的主题内容. 今年的大会主题收到超预期的主题,无论是数量还是质量上都比2019年有所进步,这也 ...
- 纯css 实现文本换行
业务场景:dialog中嵌套的表单,实现信息展示,由于存储路径过长并且在一行显示,导致多出的文字出现在弹出框外面了,页面极丑,所以需要将存储路径实现自动换行. 技术点:<p style=&quo ...
- mysql 5.7.26 忘记root密码
1.关闭mysql [root@mysql ~]# /etc/init.d/mysqld stopShutting down MySQL.. SUCCESS! 2.修改参数文件/etc/my.cnf ...
- monkey在指定的activity里面运行
下载包地址:链接: https://pan.baidu.com/s/1Wk2eOj3saZx71Mx6pT2L4Q 提取码: gupa 运行方式:步骤1: 将工具下载下来放到本地目录下,解压步骤2:配 ...
- 字节跳动内部微服务架构-Docker实战学习笔记分享 真香
前言 基于 Spring Cloud 的微服务设计和开发,已经越来越多地得到了更多企业的推广和应用,而 Spring Cloud 社区也在不断的迅速发展壮大之中,近几年时间,Spring Cloud ...
- Fabric 配置 order节点问题
问题描述: Error: failed to create deliver client: orderer client failed to connect to orderer.example.co ...
- Linux课程知识点总结(一)
Linux课程知识点总结(一) 一.Linux系统的简介 1.1 什么是Linux Linux是一个免费的多用户.多任务的操作系统,其运行方式.功能和Unix系统很相似,但Linux系统的稳定性.安全 ...