Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >git如何知道本地repo何时发生更改?

git如何知道本地repo何时发生更改?
EN

Stack Overflow用户
提问于 2017-07-18 20:54:55
回答 1查看 1.2K关注 0票数 1

当您更改工作目录中的文件时,git确切地知道更改了哪些文件。它是怎么知道的?

Q1)是否在提交时计算校验和,并在事件驱动的更改(例如在工作目录中创建新文件)时重新计算校验和。

Q2)除了工作目录文件之外,您的本地驱动器是否将其余文件保存在某个位置,该位置会随着您包含更多项目而增加?我的驱动器似乎更满了添加了一个新的文件夹,我正在尝试跟踪,现在我想撤销我正在尝试跟踪的文件夹,我如何回收该空间。我试图用GIT做一些花哨的事情,比如跟踪我本地项目文件和其他文档的变化,这样我就可以看到发生变化的文档,并只用这些文件更新我的备份。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-18 21:05:11

Git根据文件的内容计算哈希,并在提交时存储快照。哈希既可用作内容的标识符,也可用作将快照与较新版本进行比较的一种简单方法。

因此,如果你有一个提交的文件版本和一个工作副本版本,Git所要做的就是计算工作文件的哈希值,并将其与提交的快照中已经计算出的哈希值进行比较。如果散列不同,那么它知道有些东西已经改变了。此计算仅在您请求时发生(例如,git statusgit diff)。它并不是不断地自己检查。

Git将所有内容都存储在存储库中。它通常位于项目根目录下的.git/目录中。整个存储库历史和内容都在里面,所以根据历史记录包含的内容,有时它们会变得很大。这实际上依赖于项目。Git在压缩内容方面做得很好,但如果你要添加大的预压缩文件,它只能做这么多来压缩它们。

您在问题中提到的.git/objects/目录是git存储库中的主要内容存储。所有的文件快照和元数据(如目录结构、提交对象、标记)都存储在那里。因此,它是存储库文件夹中最大的部分是很正常的。

取消创建git存储库很容易-只需删除.git文件夹即可。然而,这是一个破坏性的动作,你不能撤销。如果您不介意丢失存储库历史记录(或者,如果您在其他地方创建了一个副本,如GitHub,或备份副本,并且您可以依赖另一个副本),请删除它。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45176884

复制
相关文章
repo 导出本地 git tag 给他人
使用 repo 管理了多个 git 仓库,有时需要将本地仓库的tag同步给其他人,但又不能直接推到远程(例如权限问题)。
zqb_all
2020/06/08
1.9K0
git,程序配置文件管理,忽略本地更改
所以我们应该这样子做:git仓库提供一份配置文件的基础模板,每个人都拉取到本地修改但是要忽略本地更改监听。
宣言言言
2019/12/15
1.1K0
repo 和git的用法
repo init -u git@192.168.1.11:i700t_60501010/platform/manifest.git-b froyo_almond -m M76XXTSNCJNLYA60501010.xml
awwewwbbb
2022/04/26
8850
Git与Repo快速入门
版本控制 版本控制是什么已不用在说了,就是记录我们对文件、目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作。 一、原始版本控制 最原始的版本控制是纯手工的版本控制:修改文件,
刘盼
2018/03/16
1K0
Git与Repo快速入门
Stop The World 是何时发生的?
Python判断对象存活的算法用的是引用计数法,而Java则使用的是可达性分析法。
Java识堂
2021/09/03
7860
如何在 Git 上更改分支名称?
在 Git 版本控制系统中,分支是非常重要的概念。分支允许你在项目中进行并行开发和实验,同时保持主分支的稳定性。有时候,你可能需要更改已存在的分支名称,例如纠正拼写错误或者为了更好地描述分支的内容。本文将详细介绍如何在 Git 上更改分支名称。
网络技术联盟站
2023/06/19
1.9K0
如何在 Git 上更改分支名称?
Git 撤销更改
正常提交过程有三个步骤四个区和五种状态,下面就分别从这些入手,来看下 Git 撤销更改的方法。
用户1065635
2019/11/28
2.2K0
git fetch,git merge,git pull,repo sync的区别
这些命令都用于将本地代码与远程存储库同步,但它们的实现机制和使用方式略有不同: git fetch 命令用于从远程存储库中获取最新的更改,但并不会直接更新您的本地分支。它只是将远程存储库中的内容下载到本地 Git 仓库中,您可以通过合并操作将其合并到本地分支中。 git merge 命令用于将从远程存储库中下载的更改合并到当前本地分支中。如果您进行了本地修改,并且这些修改与远程分支存在冲突,则需要手动解决冲突后再进行合并操作。 git pull 命令相当于执行了 git fetch 和 git
天天Lotay
2023/05/10
1.4K0
更改git url
由于git 仓库url改变,需要更改url,一般情况下更改origin的utl,更改方法为:
意气
2019/05/05
1.6K0
GIT,GERRIT,REPO的使用教程
repo,repo就是多个git库的管理工具。如果是多个git库同时管理,可以使用repo。当然使用gerrit,就必须用repo。
我被狗咬了
2019/09/23
5.3K0
Git当中如何commit代码到本地git仓库
3.commit代码到本地git仓库 选中需要 Commit 的项目,右键->Team->Commit,注意要把下图中Unstaged Changes里面的文件,右击add to index,加到下面的Staged Changes里面来才能把它们提交。
马克java社区
2019/08/21
9540
Git当中如何commit代码到本地git仓库
git-版本更改
git status——目前我觉得git用到的最多的命令,产看仓库当前状态 git diff test.txt——可以查看文件修改内容 git log:可以查看提交历史,以便确定要回退到哪个版本(参数 –pretty=oneline可以简化输出信息) git reset — hard HEAD^: 回退到上一个版本(HEAD表示当前版本) git reset –head commit_id:回退到指定版本 git reflog:记录每次命令用于查找commit id等信息
用户10325771
2023/03/17
3990
创建本地私人/团队Spec Repo (完整版)
1.2 私人git服务器 参考:Linux搭建私有Git服务器以及ssh免密登陆配置
大话swift
2019/07/04
1.2K0
创建本地私人/团队Spec Repo (完整版)
git无法删除本地分支_git如何删除远程分支
转载:https://blog.csdn.net/benben_2015/article/details/79782202
全栈程序员站长
2022/11/07
2.2K0
何时以及如何在你的本地开发环境中使用 HTTPS
翻译:布兰 作者:Maud Nalpas https://web.dev/when-to-use-local-https/ https://web.dev/how-to-use-local-https/
用户4456933
2021/06/01
2.7K0
何时以及如何在你的本地开发环境中使用 HTTPS
【GIT版本控制】--提交更改
在GIT中,要提交更改,首先需要将文件添加到暂存区(Staging Area)。这是一个用于存放将要提交的更改的临时区域。以下是将文件添加到暂存区的步骤:
喵叔
2023/10/07
2720
Git如何解决本地冲突(纯净版)
第一步、拉取远程最新代码 git fetch -a 第二步、切换到源分支 如果本地有源分支 git checkout branch_new 如果本地没有源分支 git checkout -b branch_new origin/branch_new 第三步、合并代码 此处,不要使用fast-forward容易,覆盖合并 git merge --no-ff remotes/origin/master 第四步、本地解决冲突重新提交文件 1、先把冲突文件的冲突解决了! 2、然后在add、commit 第五步、推
MickyInvQ
2020/09/27
1.8K0
2022 了,你还不知道 Multi-repo 和 Mono-repo 的区别么?
Multi-repo 和 Mono-repo 是 Git 托管代码的两种策略,我们讨论下两者的策略以及其利弊
GopalFeng
2022/08/01
1.2K0
2022 了,你还不知道 Multi-repo 和 Mono-repo 的区别么?
如何撤消 Git 中最新的本地提交?
在使用Git进行版本控制时,有时我们可能会犯下错误或者想要撤销最新的本地提交。Git提供了一些强大的工具和命令,使我们能够轻松地撤消最近的提交并修复错误。
网络技术联盟站
2023/05/29
1.4K0
如何撤消 Git 中最新的本地提交?
GitHacker:Git源码泄漏检测工具可恢复整个Git Repo
GitHacker是一个多线程工具,用于检测站点是否存在git源码泄漏,并能够将网站源代码下载到本地。值得一提的是,这个工具会将整个git repo恢复到本地,而不是像[githack]那样,只是简单的恢复到最新版本。如此一来,你就可以查看到开发人员的历史提交记录以及提交注释,以更好的掌握开发者的性格和心理,从而为进一步的代码审计奠定基础。
FB客服
2019/06/18
4.8K0
GitHacker:Git源码泄漏检测工具可恢复整个Git Repo

相似问题

如何知道窗口zorder何时发生更改

12

Kafka如何知道源数据何时发生更改?

119

iOS :如何知道设备语言何时发生更改?

10

当repo发生更改时,如何将本地文件提交到subversion repo?

51

本地更改何时与“`git签出”合并?

16
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文