管理本地版本库

  首先要明白的是Git有三个部分,本别是工作区,缓存区和版本库

  • 工作区:就是Git管理的目录(前面我们将它称为版本库,是不准确的)
  • 缓存区:stage,就是每次add以后【文件修改】存放的地方。
  • 版本库:隐藏目录.git,里面存放了【文件修改】的记录。

  Git管理的是【文件修改】,比如对某个文件添加了一行,这个行为就属于一个文件修改。

  在我们修改或者新建了文件之后,都要用git add命令将【文件修改】加入到stage(缓存区)中,然后再用git commit命令将stage中的【文件修改】提交到版本库。

  上图中的master是主干,可以理解为主分支(trunk)。HEAD是指向最新版本的指针。

  • git status 命令查看版本库的状态,看有没有缓存区的内容没有commit,或者有没有工作区的改变没有add到缓存区。
  • git diff HEAD -- 文件名 查看文件在工作区和当前分支中的差异。
  • git checkout -- 文件名 撤销工作区的修改,将文件的工作区恢复成与缓存区或版本库一致的内容。
  • git reset HEAD 文件名 撤销对缓存区的add

  上面都是在commit之前撤销修改。如果已经commit了,想回退,或者回退之后又想取消,则需要下面的命令:

  git log 查看提交日志。日志之中包含每次提交的版本号,作者,时间,注释。例如:

commit cb926e7ea50ad11b8f9e909c05226233bf755030
Author: Michael Liao <[email protected]>
Date:   Mon Aug 19 17:51:55 2013 +0800?

    wrote a readme file

  commit之后的那一长串数字就是版本号,你想要回退到哪个版本,只需要输入命令:git reset --hard 版本号

  版本号不用包含所有,只需要开头的几位就行了,git会自动搜索,但是位数不能太少,以免和其他版本号产生混淆。

  还有一种相对当前版本回退的方法,简单来说,想回退到倒数第一次commit的版本,输入:git reset --hard HEAD^,想回退到倒数第二次commit的版本,输入:

git reset --hard HEAD^^,想回退到倒数第n次commit的版本,输入:git reset --hart HEAD~n

  回退之后,再查看提交日志,会发现未来版本的日志已经没有了,即如果想取消回退,却无法找到未来版本的版本号了。此时需要用命令:git reflog,来查看未来版本号。再通过git reset --hard 版本号,来恢复到未来版本。

时间: 2024-10-01 07:23:02

管理本地版本库的相关文章

安装git,创建本地版本库

安装 由于我使用的是Ubuntu,因此安装很简单,输入:sudo apt-get install git 如果是其他Linux版本,可以直接通过源码安装.先从Git官网下载源码,然后解压,依次输入:./config,make,sudo make install这几个命令安装就好了. 至于Mac和Windows安装Git,在廖雪峰的官网里有详细介绍,我这里就不多说了.他的官网地址可以从学习之序中找到. 创建本地版本库 所谓版本库,就是可以被Git管理的一目录,对该目录下的每个文件的修改.删除,Gi

迁移google code上的项目到本地版本库

今年五月份以来就已经连接不上google code了,翻*墙又极度不稳定,在忍受了几个月之后终于决定将项目搬离google code;经过研究之后终于实现了搬迁到本地,最后总结成下文.一者期望对有需要的人有一点点帮助,二者记录下来以备查阅. 一. 创建本地版本仓库 打开需创建的本地版本库目录eg:D:\WinPath\desktop\11 右键->"TortoiseSVN"->"Create repository here"->"ok&q

Git for Windows之推送本地版本库到远程仓库

Git for Windows之基础环境搭建与基础操作中介绍了Git基本环境的构建与基本的操作.生成了一个本地git版本库,本文将介绍如何将这个版本库推送到远程仓库(码云,github也可以). 1.注册码云的账号,创建一个public的项目 点击进入该项目,有如下信息: (1).红框内Https选项卡为远程仓储的地址,SSH选项也是远程仓储的地址,但是后者需要配置. (2).码云提供的简单的快速初始化本地版本库,到码云远程仓库的命令行代码. 2.使用码云推荐的git命令推送本地版本库到码云远程

Laravel篇二之本地版本库关联github

以往的工作中都是使用svn作为版本控制,对git分布式的有些陌生,本篇主要记录的本地存储myWeb-laravel的git版本库与github建立关联. 1.首先进入本地myWeb-laravel,执行git  init对当前目录初始化操作,该命令将会在myWeb-laravel目录中创建.git的目录. 2.  git    add .     将myWeb-laravel目录中的所有文件添加到暂存区 3. git   commit  .  -m  'message'     暂存区内容添加至

Git 学习笔记&lt;本地版本库的管理&gt; (二)

今天来记录一下关于版本库的创建与管理的笔记. 版本库是什么? 版本库可以理解为一个仓库(一个可以被git管理的目录),里面文件的修改删除都可以被追踪,并且每个版本都会保存以便还原(仅仅保存修改或删除的文件),于是可以认为保存了各种不同的版本,所以叫版本库. 如何管理? Git给你提供各种不同的指令来管理版本库. 1.创建: 选择一个地方创建一个新文件夹,然后进入这个文件夹(windows中不要出现中文路径) $mkdir LEARNER   //当前目录下新建文件夹 $cd LEARNER //

TortoiseSVN搭建本地版本库及简单操作使用

TortoiseSVN是windows上一款著名的版本控制软件,对于我们管理自己的代码,特别是对一个团队来说,非常重要. 本文探讨的是如何搭建本地的版本库. (1)安装TortoiseSVN之后需要创建本地的总版本库,即server,具体做法:新建一个文件夹,比如 D:\SVN\project 这个文件夹, 然后右键create repository here(在此创建版本库) (2)在另外的工作目录,比如 D:\workdocument 这个文件夹,进入文件夹,在空白处右键 SVN check

Git版本控制工具---本地版本库的常用操作

  [正文] 在上一章节中,我们学习了关于Git最基本的用法,包括安装Git.创建版本库,以及提交本地代码.本章节中将学习更多的使用技巧.即:Git版本控制工具(一)----git的安装及创建版本库 我们先要做好准备工作,将某个项目创建版本库,我这里就新建一个Android项目GitTest,创建一个版本库.打开Git Bash,进入到这个项目的根目录下,然后执行git init命令,如下图所示: 这样,准备工作就做好了. 一.忽略文件: 版本库已经创建好了,接下来我们需要提交项目中的代码,但是

如何在本地搭建svn本地版本库

前提: 安装SVN版本软件 步骤1: [email protected]:svnadmin create /home/svn/back_trunk/[email protected]:cd back_trunk/conf/[email protected]:/home/svn/back_trunk/conf# lsauthz passwd svnserve.conf 修改/增加上述三个文件如下: svnserve.conf: anon-access = readauth-access = wri

git在本地创建工作空间并从远程版本库获取代码

1.创建一个新的文件夹:[[email protected] http]# mkdir activityTestLee 2.进入该文件夹[[email protected] http]# cd activityTestLee 3.创建本地版本库:[[email protected] activityTestLee]# git initInitialized empty Git repository in /http/activityTestLee/.git/ 4.获取钩子:[[email pro