Git 中对象模型和文件的详细视图



Git 中存在的三种状态:工作目录、索引和对象库。

目录中存在两个文件,且经过一次提交,所以现在是同步的。



file1编辑,更改为quue。状态如下:



接下来执行git add file1将其添加进索引库中。



提交:

  • 虚拟树对象转换成一个真实的树对象后,以SHA1命名,然后放在对象库中。
  • 创建新的提交对象
  • master分支的引用移动至新创建的对象,成为新的master HEAD


时间: 2024-12-17 20:54:43

Git 中对象模型和文件的详细视图的相关文章

Git中三种文件状态及其转换

Git作为一种版本控制解决方案,由于其具有的分布式特性,正被越来越多的用户熟知,一些有名的开源项目,如:Linux kernel,CakePHP,Ruby on Rails等,都在使用Git进行版本管理. 在Git中,文件状态是一个非常重要的概念,不同的状态对应不同的操作.因此,要想熟练掌握Git的用法,需要了解Git的几种文件状态. 为了说明的方便,现在初始化一个项目,也就是将项目所在目录纳入Git的管理之下.假设项目目录为hello_world,初始化之后,在目录下新建README.txt文

git中使用.gitignore文件

在进行协作开发代码管理的过程中,常常会遇到某些临时文件.配置文件.或者生成文件等,这些文件由于不同的开发端会不一样,如果使用git add . 将所有文件纳入git库中,那么会出现频繁的改动和push,这样会引起开发上的不便. Git可以很方便的帮助我们解决这个问题,那就是建立项目文件过滤规则. git中提供两种过滤机制,一种是全局过滤机制,即对所有的git都适用:另一种是针对某个项目使用的过滤规则.个人倾向于第二种. 以我的一个项目为例,该项目用.net开发,.config文件.包括生成的bi

git中如何忽略文件上传?

使用原因:至于我们为什么要使用git忽略文件,原因很多.就比如我自己的情况吧!自己一个人多地方开发,为了代码同步,这样很方便.但是有个问题就是,我创建 的是开源项目,上面有一些服务器上面的配置信息,这不是全部暴露出去了,多不安全的.便开始使用这种方法.同时,我们在我们的团队开发中,也为了避免一些配 置文件多次上传到服务器上面.例如我们在本地开发,每个人的mysql密码不一致,每次每个人提交上去,岂不是每次这个 数据配置文件都要被提交并被修改一次,多麻烦.(至于git还有其他的作用,望大家在评论区

Git 中设置更改 文件对比程序 的方法

假设要改成KDiff3,那就把它取名为kdiff3.另外还要找到它的执行文件的完整路径,然后就可以在 Git Bash 中执行一下指令,完成设置了. 指令:git config --global diff.tool kdiff3    git config --global difftool.kdiff3.cmd/    " 'D:/Program Files/KDiff3/kdiff3.exe' / "/ $LOCAL/" / " /$REMOTE/ "

Git中.gitignore忽略文件(maven项目)

使用情景: 有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们 解决方案: 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 注意原则: 忽略操作系统自动生成的文件,比如缩略图等: 忽略编译生成的中间文件.可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件: 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件 内容: #

Android Studio 中build.gradle文件的详细解析

困惑的build.gradle 在由Eclipse转到Android Studio之后,第一个让我感到困惑的是build.gradle这个文件了,实在话,当时我并不知道这么写是几个意思. apply plugin: 'com.android.application' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId "com.example.test&

辛星浅析git中查看某个文件的历史

有时候我们在比对代码的时候,会看到一些改动,但是不清楚这个改动的具体内容的话,我们通常可以通过如下步骤来执行: (1)使用git  log来查看某个文件的变化,需要注意的是这里我们只关注某个文件的变化,而不是整个git库,否则就无从看起了. 我们在git  log后面接文件名即可,范例如下: [email protected]:/root/xin# git log --pretty=oneline MessageItem.java 27209385caf678abe878375a470f4edd

Eclipse查看git中的历史,显示详细时间

clipse show date details in git history我的eclipse查看git history,显示为相对时间,并不是很方便,想要查看某个具体日期的版本代码,就需要设置为具体时间了.下面是解决方法:1.右键 --> team --> show in history --> 下拉的小三角 --> show --> Relative Dates取消Relative Dates的勾选. 2.Window --> Preferences -->

Git中三种文件状态及其转换和git适用命令

原文地址:https://www.cnblogs.com/hnhycnlc888/p/11456738.html