git学习(一):git的版本库在哪儿
查看版本
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的版本库在哪儿的更多相关文章
- Git 学习(二)版本库创建
Git 版本库创建 什么是版本库(repository)? 可理解为文件仓库.由Git管理每个文件的新增.修改及删除,但这个仓库可以追溯历史.可还原至任意历史节点. 版本库创建 创建一个版本库非常简单 ...
- git 学习之什么是版本库
什么是版本库? 我们一般把版本库也叫仓库(repository),其实我们可以简单的把它看成一个目录,只不过目录里面的文件都会由 Git 进行管理,当我们对文件进行修改.删除.Git 都可以对其进行跟 ...
- Git学习笔记一--创建版本库、添加文件、提交文件等
Git,是Linus花了两周时间用C写的一个分布式版本控制系统.牛该怎么定义? 其实,很多人都不care谁写了Git,只在乎它是免费而且好用的!So do I! 下面开始我们的学习: 1.Git安装( ...
- Git学习笔记02-创建版本库
版本库就是一个目录,这个目录里面的所有文件都会被Git管理,每个文件的修改,删除都能追踪.以便在某个时刻追踪历史记录,或者还原 路径切换,查看文件命令和linux差不多,cd 文件路径 ls查看路径 ...
- git学习(4)远程库和分支管理
git学习(4)远程库和分支管理 1.1建立本地git库和远程库联系 我使用的是GitHub上的库,首先在GitHub上新建一个库,在建立与远程库的联系之前需要建立ssh key.建立ssh key可 ...
- Git版本控制工具(一)----git的安装及创建版本库
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- [git 学习篇] git文件版本回退再学习
需求; 准备把readme.txt回退到上一个版本,也就是“add distributed”的那个版本 首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交3 ...
- Git的使用(3) —— 远程版本库的操作(GitHub)
1. 配置SSH (1) GitHub 登陆GitHub后,点击右上角头像,选择 Setting . 在左面栏目中选择"SSH and GPG keys". 打开生成的SSH公钥文 ...
- Git的使用(2) —— 本地版本库的操作
1. 向本地版本库中添加文件 注意:.git文件夹是本地版本库,包含.git文件夹的目录叫工作目录,要往本地版本库中添加文件,就必须将文件放在工作目录中. (1) 把文件添加到工作目录中. (2) 右 ...
- Git 学习之 Git Basics
最近在用git,但git学习曲线实在是有点高. 好在找到一个文档 https://www.atlassian.com/git/tutorial/,以下就是学习笔记吧! git init git ini ...
随机推荐
- 开源力量:微软竟开源 PowerShell
导读 曾经有段时间,微软称 Linux 是“癌症”,但是随着时光流逝,现在微软已经认识到了开源世界的不断增长,除了在这个领域加大投入之外别无选择.微软已经启动了几个开源项目,希望能吸引一些 Linux ...
- Kettle中txt类型数据源作为输入需要注意的地方
文本类型在kettle中作为数据源的时候,需要注意的几点,ktr的机构如下图 1:txt文本的格式 2:文本输入控件的设置 --2.1:选择文件所在物理位置 --2.2:设置分隔符,注意头部数量去掉, ...
- 飘逸的python - 不使用keyword,求和1+2+…+n
依据题意,我们不能用到if/else/for/while等keyword. --------------思考中------------ 思路: 1.用递归实现循环 2.递归的终止条件不用if怎么推断呢 ...
- [Grunt + AngularJS] Using ng-annotate for min-safe AngularJS
When you minify your code with a tool like Uglify, the resulting minified file will rename variables ...
- 推荐9款使用CSS3实现的超酷动画效果
大家都知道,在网页制作时使用CSS技术,可以有效地对页面的布局.字体.颜色.背景和其它效果实现更加精确的控制.只要对相应的代码做一些简单的修改,就可以改变同一页面的不同部分,或者页数不同的网页的外观和 ...
- PHP如何使用免费在线客服插件
1 你可以从以下网址下载http://www.hur.cn/Soft/2011/12448.html 2 解压并放到任意文件夹下 3 在安装之前,先在数据库中创建一个完整的数据库,因为待会儿安装完成之 ...
- 反编译示例:mxd检查
gisoralce在博客园发布了一个mxd检查工具,主要功能是将arcgis的mxd数据源有效性(含矢量和影像)检查.检查是否为相对路径,自动保存为相对路径. 这是一个未加壳的.NET程序,正好拿来练 ...
- 随机数的生成:给定1-n的随机数生成器randn(),生成1-m的随机数
1.当m < n时比较简单: 只当randn()生成的数落在1-m上时,就输出,否则继续生成: 2.当m > n时就比较麻烦一点, 基本思路还是和第一种情况是一样的,问题是怎样才能利用ra ...
- QtGui.QGridLayout
The most universal layout class is the grid layout. This layout divides the space into rows and colu ...
- Android开发之帐户管理
android.accounts主要包括了集中式的帐户管理API, AccountManagerCallback, AccountManagerFuture, OnAccountsUpdateList ...