git 本地仓库操作
一、git对象模型和存储


二、常用命令
1)git checkout branch 切换分支
假设现在有两个分支,master和dev分支
i dev分支上没有readme.txt
在master分支上我修改了readme.txt但是没有commit到本地仓库,那么在dev分支上仍然会看到readme.txt
在master分支上我修改了readme.txt并且commit到本地仓库,那么dev分支上没有readme.txt
ii dev分支上存在readme.txt
在master分支上我修改了readme.txt但是没有commit到本地仓库,切换失败,提示commit后再切换分支
在master分支上我修改了readme.txt并且commit到本地仓库,切换成功,两个readme.txt互不影响

2)git checkout master~3 将HEAD指针回退,并取出其中的数据添加到工作区和缓存区

因为是添加而非覆盖,所以当你在ed489上做的操作,没有commit时,当切换到b325,仍然可以看到那些未commit的文件。
如果现在在b325上做了修改,并且commit了,则commit的内容会丢失,因为切换到b325时,并不在任何一个分支上,此时显示的是:

如果想要这次更改,可以在commit前,git checkout -b branchName,将这个位置新建为一个分支,然后commit,此时的修改内容可以在新的分支上查找到。
3) git checkout master~3 filename 将filename这个文件切换到之前的版本,注意切换后仍然在master分支上,是用b325中的filename文件覆盖了ed489的filename,此时commit会生成新的校验和,也就是新的commit
4) git revert b325c 将b325c的commit复制到当前commit末尾,生成新的commit,是较安全的版本回退

5)git cherry-pick commitID 将commitID重演,并在当前commit链表末尾添加新的commit,同时将此时文件添加到stage和working directory

6) git diff

git 本地仓库操作的更多相关文章
- git 学习(1) ----- git 本地仓库操作
最近在项目中使用git了,在实战中才知道,以前学习的git 知识只是皮毛,需要重新系统的学一下,读了一本叫 Learn Git in a Month of Lunches 的书籍,这本书通俗易懂,使 ...
- Git 学习(三)本地仓库操作——git add & commit
Git 学习(三)本地仓库操作——git add & commit Git 和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念.这在上文已有提及,本文具体说明什么是工作区及暂存区,以及 ...
- Git单人本地仓库操作
本地仓库是个.git隐藏文件 以下为演示Git单人本地仓库操作 1.安装git sudo apt-get install git 密码:skylark 2.查看git安装结果 git 3.创建项目 在 ...
- 01-Git单人本地仓库操作
Git源代码管理 Git(多人协同开发同一个项目),作用就是源代码管理,为什么需要源代码管理呢,方便多人协同开发,并且方便版本控制. Git管理源代码特点: 1.Git是分布式管理.服务器和客户端都有 ...
- Git本地仓库和远程仓库冲突解决
场景描述: 在本地创建了一个git repo,并且执行了,git init命令,创建了.gitignore文件,或者README.md文件: 在远程创建了一个git repo,创建时也初始化了.git ...
- Git本地仓库与远程github同步的时候提示fatal: remote origin already exists 错误解决办法
Git本地仓库与远程github同步的时候提示fatal: remote origin already exists 错误解决办法 1.git在本地的电脑创建了仓库,要远程同步github的仓库.使用 ...
- Git - Git本地仓库与GitHub远程仓库关联
前言 Git本地仓库与GitHub仓库的关联逻辑如下 创建Key 在本地仓库下,新建Key文件夹,然后打开Key文件夹,单击鼠标右键,选择Git Bash Here. 输入命令:ssh-keygen ...
- 创建Git本地仓库
一.获取Git仓库 安装好Git后即可创建Git本地仓库,开始项目的版本管理.有两种方法取得Git项目仓库:1.在现有项目或目录下导入所有文件到Git中:2.从一个服务器克隆一个现有的Git仓库. 1 ...
- Git 本地仓库(使用小乌龟进行操作,一个人开发)
一.首先在本地创建版本库 创建成功最明显的特征是该目录下存在一个隐藏文件夹(.git) 前提:已设置显示隐藏文件 三种方式: 1.Git GUI Here(右击) 2.Git Bash Here(右击 ...
随机推荐
- Eclipse luna安装SVN
Eclipse luna安装SVN 1.Subversive Plug in 的安装 打开Eclipse ,Help--->Install New Soft ----> 输入 “Luna ...
- proteus 8.8 直装版提示Symbol $MKRORIGIN used but not found in libraries 安装后没有库
用管理员运行程序,然后再通过菜单打开仿真文件是没问题. 解决方法:通常的安装目录是C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Prof ...
- hibernate hql语句 group by having 的坑
我期望获得这个列表 然而,使用hql只能获得第一条数据,后来我琢磨了一下,和group by有关系 应该改成 成功查询到
- 实时查看linux网卡流量 的base脚本
#!/bin/bash " ] do eth=$ RXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{pri ...
- 2019.9.29 csp-s模拟测试55 反思总结
不咕咕咕是一种美德[大雾] 头一次体会到爆肝写题解??? 这次考试我们没赶上,是后来掐着时间每个人自己考的.我最后的分数能拿到152…熟悉的一题AC两题爆炸. 强烈吐槽出题人起名走心 T1联: 发现每 ...
- day37 02-Hibernate二级缓存:二级缓存的散装数据
一级缓存存放的是对象的地址.把对象的地址缓存下来了.二级缓存里面存放的是对象的散装数据.你再去获取的时候,因为一级缓存的生命周期结束了,它会从二级缓存中获取.从二级缓存中获取,因为它又会得到一个对象. ...
- spark应用程序引用别的jar包
第一种方式 操作:将第三方jar文件打包到最终形成的spark应用程序jar文件中 应用场景:第三方jar文件比较小,应用的地方比较少 第二种方式 操作:使用spark-submit提交命令的参数: ...
- 【《Objective-C基础教程 》笔记】(八)OC的基本事实和OC杂七杂八的疑问
一.疑问 1.成员变量.实例变量.局部变量的差别和联系,在訪问.继承上怎样表现. 2.属性@property 和 {变量列表} 是否同样.有什么不同. 3.类方法.类成员.类属性:实例方法.实例变量. ...
- Redis 扫盲
Redis扫盲 非关系型数据库分类: 键值存储数据库:主要会使用到一个 Hash 表,这个表有一个特定的键和一个指针指向特定的数据,Redis 列存储数据库:应对分布式存储的海量数据,键仍然存在,但是 ...
- SDUT-3379_数据结构实验之查找七:线性之哈希表
数据结构实验之查找七:线性之哈希表 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 根据给定的一系列整数关键字和素数p, ...