2016/01/12开始学习git:版本如何回退

本地版本库E:\learngit

所以learngit文件夹是工作区

learngit文件夹下.git/文件夹是版本库:包含暂存区(stage)和指向master的指针(head)

master分支是唯一的,可以多次把工作区的文件git add添加到暂存区,然后一次性git commit提交暂存区修改

########版本的回退其实就是head指针的指向变化,版本一直都在

1.再次修改readme.txt,使得存在3个版本

版本1:wrote a readme file

Git is a version control system.
Git is free software.

版本2:add distributed

Git is a distributed version control system.
Git is free software.

版本3:append GPL

Git is a distributed version control system.
Git is free software distributed under the GPL.

2.学习如何从版本3回退到版本2

git log 查看版本历史记录

也可以使用git log --pretty=oneline简要输出

上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

git reset --hard HEAD^

2.如何从版本2回退到版本3

Git提供了一个命令git reflog用来记录你的每一次命令

找到版本3的commit ID

git reset --hard commit_id

#####################################################

工作区与暂存区---待写

时间: 2024-10-10 03:02:51

2016/01/12开始学习git:版本如何回退的相关文章

2016/01/14开始学习git:标签管理:创建标签

标签也是版本库的一个快照指向某个commit的指针(分支可以移动,标签不能移动) 切换到需要打标签的分支上git tag <name>就可以打一个新标签: $ git tag v1.0 git tag查看所有标签: $ git tagv1.0 打之前提交的版本的commit需要当时的commit ID$ git tag v0.9 93ddf60 查看tag$ git tagv0.9v1.0 标签不是按时间顺序列出,而是按字母排序的.可以用git show <tagname>查看标签

2016/01/11开始学习git:查看仓库状态和修改文件

1.使用git status查看版本库的状态 $ git statusOn branch masternothing to commit, working directory cleanGit告诉我们当前没有需要提交的修改,而且,工作目录是干净(working directory clean)的. 2.现在去修改readme.txt的内容 原本内容为: Git is a version control system.Git is free software. 修改后: Git is distri

2016/01/13开始学习git:管理修改、撤销修改

一.管理修改 第一次修改readme.txt       : 增加一行Git tracks changes. 添加readme.txt                :       git add readme.txt 第二次修改readme.txt        : 修改Git tracks changes.为Git tracks changes of files. 提交readme.txt                :     git commit -m "git tracks chan

2016/01/13开始学习git:删除文件

1.在E:\learngit\文件夹(工作区)下删除file1.txt文件 rm file1.txt git status 查看库状态会有提示: deleted:    file1.txt 2.如果想要删除库里边的file1.txt $ git rm file1.txtrm 'file1.txt' $ git commit -m "remove file1.txt"[master f9bc4cf] remove file1.txt 1 file changed, 0 insertion

2016/01/14开始学习git:标签管理:操作标签

一.删除本地标签 如果标签打错了,也可以删除:git tag -d v0.1 因为创建的标签都只存储在本地,不会自动推送到远程.所以,打错的标签可以在本地安全删除. 二.推送标签如果要推送某个标签到远程,使用命令git push origin <tagname>:git push origin v1.0或者,一次性推送全部尚未推送到远程的本地标签:git push origin --tags 三.删除远程标签如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除:git tag -d

2016/01/14开始学习git:分支管理:多人协作

一.当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin. 要查看远程库的信息,用git remote:origingit remote -v显示更详细的信息origin  [email protected]:Jacobwan/learngit.git (fetch)origin  [email protected]:Jacobwan/learngit.git (push) 二.推送分支推送分支,就是把该分支上的

2016/01/13开始学习git:远程仓库

//github 我的163邮箱注册的 第1步:创建SSH Key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件, 如果已经有了,可直接跳到下一步.如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key: $ ssh-keygen -t rsa -C "[email protected]" 你需要把邮件地址换成你自己的邮件地址(Git的邮箱地址),然后一路回车,使用默认值即可,由于这个K

2016/01/13开始学习git:分支管理:解决冲突

创建新分支,commit后:切换回master分支,再次commit:Git此时无法快速合并. 可以git status找到冲突的文件readme.txt, 查看并修改,然后再次提交 1.创建新分支feature1,新增readme.txt的内容,然后add和commit git checkout -b feature1修改readme.txt最后一行,改为:Creating a new branch is quick AND simple.git add readme.txt git comm

2016/01/12

IDEA快捷键整理 http://blog.csdn.net/xuanze520/article/details/6773976 浅析java中的final关键字 http://www.cnblogs.com/dolphin0520/p/3736238.html Java enum的用法详解 http://www.cnblogs.com/happyPawpaw/archive/2013/04/09/3009553.html