查看版本

 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. linux sendmail 邮件服务器架设

    大家都知道架邮件服务器首先要架DNS服务.架设sendmail邮件服务器,以供大家一起学习探讨. 步骤一, 安装SNEDMAIL服务,查看你是否有安装SENDMAIL. #rpm -qa|grep b ...

  2. 【转】Linux下的多线程编程背景知识

    1. 进程和线程 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者.传统的 Unix也支持线程的概念,但是在一个进程(pr ...

  3. angular.copy() 取消angular的数据双向绑定

    网址:https://www.tslang.cn/docs/tutorial.html

  4. Python 正则表达式学习摘要及资料

    来源:Michael_翔_ 摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m 到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会 ...

  5. 解决tmux在PuTTY下工作异常的问题

    ubuntu 默认系统配置文件位置/usr/share/byobu/profiles/tmux 来自 PC通过PuTTY连接到VPS,在使用VPS上安装的tmux时遇到了一些小问题.主要是因为PuTT ...

  6. js 获取iframe页面元素

      js 获取iframe页面元素 CreationTime--2018年8月16日18点00分 Author:Marydon <!-- chart图表 --> <iframe id ...

  7. 【Linux】cd命令

    用途 cd命令的主要作用是变换目录 全称 cd的全称是Change Directory   案例 以下是一些基础的cd命令操作(酒红色字体为命令 ,蓝色字体为解释字体) [root@bigdata ~ ...

  8. MyEclipse连接sqlserver2008具体流程

    参照这里: 图形连接  http://wenku.baidu.com/view/f50838086c85ec3a87c2c53a.html 还有查看的是这个:   2. 重新用Window验证方式登陆 ...

  9. 系统学习NIO

    概述 适用于有一定编程基础的朋友,想系统学习NIO这块知识的朋友.知识点大体分3块:1:>概念了解(各类IO) 2>NIO的核心(缓存区,通道等) 3>网络IO 详细 代码下载:ht ...

  10. 转载:【Linux+windows】PHP5.5安装PHPRedis扩展

    首先,你必须安装了 Redis服务器,然后才能安装php-redis扩展,就像先安装mysql,然后再将php-mysql扩展安装并引入(区别是:php-redis扩展插件php没有自带,php-my ...