git学习()git的版本库在哪儿

[[email protected] ~]# git --version
git version 1.7.1
[[email protected] ~]# git config --global user.name "tuhooo"
[[email protected] ~]# git config --global user.email [email protected]

新建一个目录,然后进去
git init

1.6.5 以后的可以在git后面接目录名,自动完成目录的创建

git add

git commit -m "commit message"

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

CVS:工作区的根目录以及每个子目录下面都有一个CVS目录,包含了几个配置文件,建立了对版本库的追踪。

如CVS目录下的Entries文件记录了从版本库检出到工作区的文件名称、版本和时间戳等,通过时间戳的对比可以快速扫描工作区文件的改动。

Git将版本库放在工作区根目录下的设计使所有的版本控制操作都在本地即可完成。

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

git将版本库(.git)放在工作区根目录下,git的相关操作一定要在工作区根目录下执行么?

换句话说,在工作区的子目录下执行git命令,是如何定位版本库呢?

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

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

追踪git status的磁盘访问
strace -e ‘trace=file‘ git status

显示工作区根目录
git rev-parse --show-toplevel

显示版本库.git目录所在位置
git rev-parse --git-dir

相对于工作区根目录的相对目录
git rev-parse --show-prefix

从当前目录后退到工作区的深度

git rev-parse --show-cdup

原文地址:https://www.cnblogs.com/tuhooo/p/8878624.html

时间: 2024-08-30 11:15:24

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

git学习之创建版本库(三)

创建版本库 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以"还原". 所以,创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录: $ mkdir learngit $ cd learngit $ pwd /Users/michael/learngit pwd命令用于显示当前目录.在我的Mac上,这个仓

Git 学习笔记<本地版本库的管理> (二)

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

git学习之创建版本库

创建版本库 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以"还原" 所以,创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:(在本地创建一个文件夹.打开该文件夹,在这个文件夹中打开git) $ mkdir learngit 创建了一个名为learngit的文件夹 $ cd learngit 进入le

Git 学习之关于版本库

记得在第一次接触代码的时候,当对一些改动不是很确定的时候,我的做法就是在我的电脑上保留多个文件,分别以不同的名字来保存,以便于以后发现某个地方的带动是错误的好做修改,现在想想真是好笑啊. 慢慢的在工作和学习中学会使用了一些版本控制工具,比如 SVN.Git, 使用Git 也有一段的时间了,但是对其中的东西还不是很透彻,因此想着写一些东西将其记录下来加深印象. 既然以前接触过 SVN 那么首先我们对这两个版本控制工具做个对比吧! SVN 就是集中化的版本控制系统,对于这类系统都有单一的服务器来进行

Git学习_把版本库发布到GitHub

用命令框Git bash把做好的项目文件发布到GitHub,需要一个push命令和一个网址即可.输入指令格式 $ git push https://--- master 这个https://---就是远程仓库地址,就是你在GitHub上建立的一个仓库的地址(要现在GitHub上新建一个仓库),一般用https开头的地址,后面的master就是把目录文件夹里的全部东西发布到远程仓库上.这样输入按回车后,会弹出来一个窗口需要输入远程仓库主人的用户名和密码(就是GitHub账号密码,在自己电脑第一次操

Git的使用(1) —— 版本库

1. 简介 Git作为一个分布式版本控制系统,其优点是不需要一直连接远端版本库就可以使用. 故其为实现分布版本控制专门设计了一整套的存储区间和语句,用来实现. (1) 本地版本库:建立在本机磁盘上的文件夹. 1) 通过推送语句语句将本地版本库完整的上传/替换远程版本仓库中的代码. 2) 通过检出语句创建/切换工作区的分支. (2) 远程版本库:建立在远程服务器磁盘上的文件夹. 3) 通过克隆语句将远程版本库中的代码完整的下载/替换到本地版本库. 4) 通过拉取语句将远程版本库中与工作区中不同的文

Git安装及创建版本库

一.在Windows上安装Git 1.虽然用于开发的系统最好是用Mac或者Linux,但绝大多数新人都是用Windows进行开发.Windows系统上也有提供了Git(Windows版),下载地址:https://git-for-windows.github.io,下载.exe文件之后照常安装即可. 2.安装完成之后在开始菜单找到Git Bash点击弹出命令行窗口 3.登录用户名和邮箱 1 git config -global user.name "Your userName" 2 g

Git学习——Git分支篇(未完)

Git学习--Git分支篇(未完) 前言 完成了Git学习的基础篇,继续学习Git的分支特性,这是Git出众之处. 目录 分支简介 分支创建 分支切换 分支新建与合并 分支新建 分支合并 遇到冲突时的分支合并 分支简介 首先,Git保存数据的方式比较特殊,保存的是文件的快照,而不是文件的变化. 因此,在执行提交( commit )操作时,Git会保存一个提交对象( commit object).该提交对象包含一个指针指向暂存的内容快照,同时包含作者的姓名.邮箱.提交时输入的信息和指向它父对象的指

git学习——git命令之创建版本库

原文来至 一.创建版本库 版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以"还原". 所以,创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录: $ mkdir learngit $ cd learngit $ pwd /Users/michael/learngit pwd命令用于显示当前目录.在我的Mac上,这个仓库

git 学习 3(版本回退)

在git学习2中,我们已经学会了将修改重新提交到git版本库中,那么我们现在对每一次的修改git都帮助我们做好了记录.我们如何查看我们曾经最new.php这个文件做了哪些操作呢? 使用$git log 命令 就可以查看所有的之前的操作. $ git log new.phpcommit 2e38649e33a453d8c0cbeed5ff14df2fef5b6aebAuthor: user <email>Date: Wed Nov 2 14:37:02 2016 +0800 add two ec