查看版本

 git --version # 查看git的版本

设置或者查看用户名和邮箱

 git config --global user.name "tuhooo"            // 如果后面没有用户名就是查看, 有的话就是设置
git config --global user.email tuhooo@.com // 如果后面没有邮箱就是查看, 有的话就是设置

初始化一个项目

 mkdir you_project_dir               // 新建一个目录,然后进去
git init // 初始化
git init you_project_dir // 1.6.5 以后的可以在git后面接目录名,自动完成目录的创建

添加文件并提交

 git add path/to/file                // 将文件交给工作区管理
git commit -m "commit message" // 提交修改

克隆现有的项目进行备份

 git clone demo demo_bkp

工作区根目录为什么有个.git目录

CVS:工作区的根目录以及每个子目录下面都有一个CVS目录,包含了几个配置文件,建立了对版本库的追踪。如CVS目录下的Entries文件记录了从版本库检出到工作区的文件名称、版本和时间戳等,通过时间戳的对比可以快速扫描工作区文件的改动。Git将版本库放在工作区根目录下的设计使所有的版本控制操作都在本地即可完成。

 git grep "工作区文件内容搜索"

git将版本库(.git)放在工作区根目录下,git的相关操作一定要在工作区根目录下执行么?换句话说,在工作区的子目录下执行git命令,是如何定位版本库呢?

实际上,在git工作区的某个子目录下执行操作时,会在工作区目录中依次向上递归查找.git目录,找到的.git目录就是工作区对应的版本库,.git所在目录就是工作区的根目录,文件.git/index记录了工作区文件的状态(实际上是暂存区的状态)。

在非git工作区执行git命令会因为找不到.git目录而报错。

 strace -e 'trace=file' git status   // 追踪git status的磁盘访问
git rev-parse --show-toplevel // 显示工作区根目录
git rev-parse --git-dir // 显示版本库.git目录所在位置
git rev-parse --show-prefix // 相对于工作区根目录的相对目录
git rev-parse --show-cdup // 从当前目录后退到工作区的深度

git学习(一):git的版本库在哪儿的更多相关文章

  1. Git 学习(二)版本库创建

    Git 版本库创建 什么是版本库(repository)? 可理解为文件仓库.由Git管理每个文件的新增.修改及删除,但这个仓库可以追溯历史.可还原至任意历史节点. 版本库创建 创建一个版本库非常简单 ...

  2. git 学习之什么是版本库

    什么是版本库? 我们一般把版本库也叫仓库(repository),其实我们可以简单的把它看成一个目录,只不过目录里面的文件都会由 Git 进行管理,当我们对文件进行修改.删除.Git 都可以对其进行跟 ...

  3. Git学习笔记一--创建版本库、添加文件、提交文件等

    Git,是Linus花了两周时间用C写的一个分布式版本控制系统.牛该怎么定义? 其实,很多人都不care谁写了Git,只在乎它是免费而且好用的!So do I! 下面开始我们的学习: 1.Git安装( ...

  4. Git学习笔记02-创建版本库

    版本库就是一个目录,这个目录里面的所有文件都会被Git管理,每个文件的修改,删除都能追踪.以便在某个时刻追踪历史记录,或者还原 路径切换,查看文件命令和linux差不多,cd 文件路径  ls查看路径 ...

  5. git学习(4)远程库和分支管理

    git学习(4)远程库和分支管理 1.1建立本地git库和远程库联系 我使用的是GitHub上的库,首先在GitHub上新建一个库,在建立与远程库的联系之前需要建立ssh key.建立ssh key可 ...

  6. Git版本控制工具(一)----git的安装及创建版本库

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  7. [git 学习篇] git文件版本回退再学习

    需求;  准备把readme.txt回退到上一个版本,也就是“add distributed”的那个版本 首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交3 ...

  8. Git的使用(3) —— 远程版本库的操作(GitHub)

    1. 配置SSH (1) GitHub 登陆GitHub后,点击右上角头像,选择 Setting . 在左面栏目中选择"SSH and GPG keys". 打开生成的SSH公钥文 ...

  9. Git的使用(2) —— 本地版本库的操作

    1. 向本地版本库中添加文件 注意:.git文件夹是本地版本库,包含.git文件夹的目录叫工作目录,要往本地版本库中添加文件,就必须将文件放在工作目录中. (1) 把文件添加到工作目录中. (2) 右 ...

  10. Git 学习之 Git Basics

    最近在用git,但git学习曲线实在是有点高. 好在找到一个文档 https://www.atlassian.com/git/tutorial/,以下就是学习笔记吧! git init git ini ...

随机推荐

  1. java设计模式5--原型模式(Prototype)

    本文地址:http://www.cnblogs.com/archimedes/p/java-prototype-pattern.html,转载请注明源地址. 原型模式 用原型实例指定创建对象的种类,并 ...

  2. 基于Spring Boot和Spring Cloud实现微服务架构学习--转

    原文地址:http://blog.csdn.net/enweitech/article/details/52582918 看了几周spring相关框架的书籍和官方demo,是时候开始总结下这中间的学习 ...

  3. sh: 1: node: Permission denied

    ionic app 开发的时候,https://dashboard.ionicframework.com/welcome ionic start myApp tabs 报错了https://www.j ...

  4. [Algorithm -- Dynamic programming] How Many Ways to Decode This Message?

    For example we have 'a' -> 1 'b' -> 2 .. 'z' -> 26 By given "12", we can decode t ...

  5. [AngularJS] AngularJS 1.3 $scope.$watchGroup

    $watchGroup can monitor an array or expression. We watch both email and password by using the same c ...

  6. 关于使用jquery时,ie8下提示对象不支持的属性或方法的解决办法

    转自:http://wapapp.baidu.com/auoong/item/538790fcbe87c834d7ff8cde 首先这个问题的前提是已经排除了常见的这个问题.下面说一种今天我碰到的一种 ...

  7. android下载

    1. 源码下载链接: http://source.android.com/source/downloading.html 参考链接: Android源码下载方法详解 2. SDK下载 http://d ...

  8. 使用Ubuntu12.04创建无线WiFi热点供手机上网

    [日期:2012-10-10]   1,单击右上角网络连接管理器(记得打开电脑的无线网络开关),选择“编辑连接…”   2,选择无线,然后单击添加.   3,{无线}输入连接名称,如longer,然后 ...

  9. 如何处理JSON中的特殊字符 介绍几种解决方案

    http://www.nowamagic.net/librarys/veda/detail/216JSON 是适用于 Ajax 应用程序的一种有效格式,原因是它使 JavaScript 对象和字符串值 ...

  10. window.open()函数

    http://hi.baidu.com/gagahjt/blog/item/7b76e0dee61b20aecd11661c.html open函数详解: window.open("sUrl ...