git教程1-git工作原理与初始化仓库
一、git工作原理
1.git是版本控制器,因此管理的是版本,每一次提交commit就是新建一个版本。
2.分支:git主分支可以存放一个阶段已经完成好的版本,而修改版本则放置在次分支上。
3.融合:融合是将分支A上的最后版本挂到分支B上,作为分支B的一个节点。
二、几个基本概念:
1.工作区(Working Directory),即保存文件的目录,内部包含了.git文件
2.版本库(Reository),即.git文件夹。内部主要是暂存库(stage)和分支(master)
我们把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
二、几个重要命令:
1.创建文件夹仓库(repository)
mkdir "c:\zhu\desktop\learngit"
2.初始化仓库
git init
3.将需要添加的文件git.txt添加至lerngit文件夹内
4.将git.txt添加至仓库
git add git.txt
5.保存git.txt修改并命名修改
git commit -m "name of modified"
6.查看当前添加文件状态
git status
7.查看当前版本库状态(包括版本号及版本名称,可用于恢复到之前的想要的版本)
git log
8.查看用户输入命令日志(可用于恢复已撤销的版本)
git reflog
9.恢复指定版本
git reset --hard HEAD^(^:几个^表示恢复到上第几步)
或git reset --hard HEAD~12(恢复上12步)
或git reset --hard obac(根据版本号标志obac恢复到该版本)
现在总结一下:
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。穿梭前,用
git log可以查看提交历史,以便确定要回退到哪个版本。要重返未来,用
git reflog查看命令历史,以便确定要回到未来的哪个版本。
git教程1-git工作原理与初始化仓库的更多相关文章
- Git使用手册/Git教程:git fetch 将远程仓库的分支及分支最新版本代码拉取到本地
相关文章: 关于验证是否存在ssh配置以及生成SSH Key的方法可以参照文章:Git使用手册:生成SSH Key 关于SSH Key的使用和公钥在gitHub.gitLab的配置等,请参考文章:Gi ...
- 【Git教程】Git教程之分支管理
在前一篇文章中,主要针对Git本地仓库和远程仓库的基本操作命令进行了简要介绍,本文主要集中介绍Git的另一个主要的特点:分支管理和多人协作. 什么是分支管理 当一个任务需要多人协作完成时,每个 ...
- 廖老师git教程执行"git checkout -b dev origin/dev"命令报出:fatal: Cannot update paths and switch to branch 'dev' at the same time. Did you intend to checkout 'origin/dev' which can not be resolved as commit?问题解决
在学习廖老师git教程之多人协作模块时按照老师的操作先创建了另一个目录,然后在这个目录下从GitHub上clone了 learngit目录到这个目录下,同样的执行了git branch查看分支情况,确 ...
- Git教程(3)git工作区与文件状态及简单示例
基础 目录: working driectory 工作目录,就是我们的工作目录,其中包括未跟踪文件及暂存区和仓库目录. staging area 暂存区,不对应一个具体目录,其实只是git di ...
- git 教程2 (git常用命令解说)
<1>$ git -- help (调出git的帮助文档) <2>$ git +命令 --help (查看某个具体命令的帮助文档) <3>$ git --versi ...
- 转载:【Oracle 集群】RAC知识图文详细教程(三)--RAC工作原理和相关组件
文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...
- Git教程(8)Git几种工作方式
1,集中共享式(1个仓库) 其中角色: 1个远程仓库,N个开发者. 工作方式: 集中式系统:所有开发者共享同一个远程仓库.每次推送数据到远程仓库时都要先更新一下. 利用 Git 的分支模型,通过同时在 ...
- Git:三、工作原理
首先,我们对工作区也就是文件夹中的文档进行修改. 然后,把修改并需要存档的文档用add命令放到暂存区,并且可以放很多文档. 最后,一个阶段的工作告一段落,使用commit命令把暂存区的内容一股脑存到G ...
- Git——基本思想和工作原理(二)
核心知识点: 1.Git关注文件数据的整体是否发生变化,对更新的文件做一个快照,然后保存一个指向快照的索引,而不会关注文件数据的具体变化. 2.Git版本的更新几乎都发生在本地,不会因为没有网络而不能 ...
随机推荐
- NumPy基础知识:数组和矢量计算
NumPy 的ndarray:一种多维数组对象 该对象是一个快速且灵活的大数据容器,可以利用这种数组对整个数据进行科学计算,语法跟标量元素之间的计算一样. 创建ndarray的方法: array函数: ...
- Swift 学习 用 swift 调用 oc
开发过程中 很可能 把swift不成熟的地方用成熟的oc 代码来弥补一下 , 下面简单来学习一下,我也是照着视频 学习的 卖弄谈不上 就是一次学习笔记, 具体问题还是具体分析吧. 需求 给展出出来的 ...
- 【HackerRank】Manasa and Stones
Change language : Manasa 和 她的朋友出去徒步旅行.她发现一条小河里边顺序排列着带有数值的石头.她开始沿河而走,发现相邻两个石头上的数值增加 a 或者 b. 这条小河的尽头有一 ...
- STP生成树协议原理与算法解析
转:https://wenku.baidu.com/view/2e52b91d866fb84ae45c8d34.html
- 20145240 《Java程序设计》第五周学习总结
20145240 <Java程序设计>第五周学习总结 教材学习内容总结 语法与继承结构 8.1.1使用try.catch java中所有的错误都会被打包为对象,并提供了特有的语句进行处理. ...
- 教你在windows10环境下如何安装minepy并成功运行!
在学习使用sklearn做单机特征工程这篇文章时,发现在计算互信息时from minepy import MINE代码运行出错ModuleNotFoundError: No module named ...
- MongoDB快速入门(七)- Save() 方法
MongoDB Save() 方法 save() 方法取代,通过新文档到 save()方法 语法 mongodb 的 save()方法如下所示的基本语法: >db.COLLECTION_NAME ...
- RequestMapping请求映射方式
1.标准映射 规则: 1) @RequestMapping可以设置在类上,也可以设置在方法上 2) 请求的映射规则是:类上的RequestMapping + 方法上的RequestMapping 3) ...
- 利用CXF框架开发webservice
开发服务端代码 1. web.xml文件中添加cxf的servlet 2. 定义接口 @WebService(targetNamespace="http://UserInfo.ws.com& ...
- Qt QT的IO流 QT输入输出
1. QFile QDataStream 读写文件 二进制读写文件 #include <QApplication> #include <QtGui> #include < ...