首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么git会跟踪我桌面上的所有新文件?

Git是一个分布式版本控制系统,它可以跟踪和管理代码的变化。当你在桌面上创建新文件时,Git会自动检测到这些变化并将其标记为未跟踪的文件。这是因为Git默认会监视工作目录中的所有文件和文件夹。

Git的跟踪机制是为了方便开发者管理代码变动。通过跟踪新文件,Git可以帮助你将这些文件添加到版本控制中,并在提交时记录这些变动。这样,你就可以随时回溯和恢复到之前的版本,或者与其他开发者共享你的代码。

虽然Git会跟踪所有新文件,但并不意味着所有文件都会被提交到代码仓库中。你可以使用.gitignore文件来指定哪些文件或文件夹应该被忽略,不纳入版本控制。在.gitignore文件中,你可以列出特定的文件、文件夹、文件类型或者使用通配符来忽略一类文件。

总结起来,Git会跟踪你桌面上的所有新文件是为了方便你管理代码变动,但你可以通过.gitignore文件来排除不需要纳入版本控制的文件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

用四个命令,总结了 Git 所有套路

有一点需要指出是,checkout命令只会把被「修改」文件恢复成stage状态,如果work dir中新增了新文件,你使用git checkout .是不会删除新文件。 风险等级:中风险。...这个需求很常见,比如说用了一个git add .一股脑把所有修改加入stage,但是突然想起来文件a.txt中代码还没写完,不应该把它commit到history区,所以我得把它从stage中撤销...Updated 12 paths from d480c4f 这样,work dir和stage中所有的「修改」都会被撤销,恢复成HEAD指向那个history commit。...理由:这个操作会将指定文件在work dir数据恢复成指定commit样子,且删除该文件在stage中数据,都无法恢复,所以应该慎重使用。 三、其他技巧 需求一,合并多个commit。...: $ git reflog 比如reset,checkout等等关键操作都会在这里留下记录,所有commit Hash 值都能在这里找到,所以如果你发现有哪个commit突然找不到了,一定都可以在这里找到

44620

为什么建议大家一定 C 语言

在如今 Python 和 Java 大火市场前景下,还是建议,如果你还在学校读书,或者你有大把空闲时间,不着急去找工作,那就静下心来,好好学习一下 C 语言,让你受益终生,也让你编程之路走更远...其设计精髓,其内涵思想,都是值得当下我们学习与借鉴 2、C 语言作为接触编程开始,对影响很大,带入了 IT 这行,本人也是极其喜欢 C 语言,C 语言涉及了很多底层知识,比如:内存...C 语言入门比较难,也是非科班出身,一路全凭自己摸索,自己智商并不高,能做到,代表大部分人应该都可以,换一种角度思考,如果难都搞定了,简单还是问题吗 与 C 结缘 说说自己本人亲身经历...,由一名后台转算法,仅仅用了 3 个月时间,但是为什么能这么快成功转型呢 扎实基础功底、快速学习能力、解决问题能力、以及个人潜力 扎实基础功底很重要,基础是什么:数据结构 + 算法,操作系统...,这些都是相通,公司需要做什么,快速学习就好 语言是工具,重要是思想,很认同这句话,以前没接触过 go,在百度实习时候,导师还给了我 1 周时间去熟悉,才上项目,以前没咋用 Python

1.4K50

为什么做分享时候感觉大脑空白

这也是最近遇到问题,这两个月做了两次技术分享,第一次就遇到上面的情况,有的点因为紧张怎么都想不起来,只能尴尬说,回头再重新捋一下发给大家。 为了避免每次遇到这种问题,得想办法解决。...再从大脑结构来说,你可以理解它们分布在这个位置: 从距离上说,本能脑和情绪脑距离心脏更近,一旦出现紧急情况,它们就会优先得到供血,这就是为什么紧张时候感觉大脑空白,因为最上方理智脑供血不足了。...而且因为它年龄小,在遇到危险时候,本身也竞争不过其他两重脑,所以就能解释,为什么人在遇到危险时候都靠本能反应而不是靠理智。 02 那怎么解决这个问题呢? 其实很简单,就是打稿子,然后自己多练。...前几天和阿常聊天,她说起将要和小林连麦,想想都觉得紧张,后来把默默把内容在脑子里过了几遍之后感觉踏实不少。...昨天看了阿常和小林连麦,非常稳,这也是要继续学习方向。 好了今天分享就到这里。 今日鸡汤: 自信人生二百年,会当击水三千里。

53240

为什么if-else影响代码复杂度

关于if-else争议 之前写了一篇文章《用规则引擎消除if语句,提高了代码可扩展性》,这篇文章想阐述观点是复杂if语句可能影响代码阅读和代码扩展性,会将非业务条件逻辑与业务逻辑混合在一起...时间长了代码越来越臃肿,因此这种情况下推荐使用一些设计模式例如策略模式,责任链模式等去优化if语句带来问题,文中发现使用规则引擎也能实现类似效果,因此介绍了怎么使用规则引擎Easy Rules去取代...if-else增加了代码复杂度 文章发布后,有很大一部分读者认为只用设计模式增加代码阅读性,还是觉得if-else好,就算if写得再复杂,也要使用if-else。...当然也有赞同观点: 统计了下,有八成读者评论是反对用其他方法代替if-else。所以我还是想写篇文章表达下观点。...这里要阐明一个观点: “观点并不是说,我们在编码时不能使用if-else,而是说我们不应该简陋地用if-else去实现业务分支流程,因为这样随意代码堆砌很容易堆出一座座"屎山"。

1.5K10

#PY小贴士# git仓库为什么每次提交都有很多改动?

git 是如今最流行代码版本管理工具,没有之一。...今天说一个 git 使用时细节:.gitignore 我们在使用 git 管理代码时,如果默认把项目里所有文件都 add 进去,加入到仓库中,会有几方面问题: 不必要文件被加入,导致仓库很大...自动生成文件被加入,导致频繁改动,并容易产生版本冲突 带有敏感信息文件被加入,造成信息泄露 那么到底哪些文件应该被提交到仓库里呢?...简单示例: # 所有 .pyc 结尾文件 *.pyc # 但不要忽略 x.pyc !...x.pyc # 忽略根目录下 TMP 文件夹中文件 /TMP # 忽略所有名为 build 文件夹中文件 build/ # 忽略名为 doc 文件夹里 .txt 结尾文件(不包含子目录)

61610

Git 版本控制系统完整指南

Git,使其成为一个仓库 Git 现在创建一个隐藏文件夹,以跟踪该文件夹中更改 当文件被更改、添加或删除时,它被视为已修改 你选择要暂存已修改文件 已暂存文件被提交,这会促使 Git 存储文件永久快照...切换平台: 将焦点转向 GitHub 将焦点转向 Bitbucket 将焦点转向 GitLab 为什么使用 Git? 超过 70% 开发者使用 Git! 开发者可以从世界任何地方协同工作。... 现在将当前目录中所有文件添加到暂存环境: git add --all 使用 --all 而不是单个文件名将会将所有更改(新文件、修改过文件和已删除文件)...来取消暂存) 新文件: README.md 新文件: bluestyle.css 新文件: index.html 现在所有 3 个文件都已添加到暂存环境中,我们准备进行第一次提交。...然后保存或移动它到你刚刚创建文件夹中。 在这个示例中,将使用一个简单 HTML 文件,类似于这样: <!

15600

MySQL实战第十二讲-为什么MySQL“抖”一下?

SQL 语句为什么变“慢”了 在本栏第 2 篇文章《MySQL深入学习第二篇 - 一条SQL更新语句是如何执行?》中,我为你介绍了 WAL 机制。...在第二讲画了一个 redo log 示意图,这里改成环形,便于大家理解。 如下 图2 所示为redo log 状态图: checkpoint 可不是随便往前修改一下位置就可以。...这时候掌柜要把所有账都记到账本上,这样过完年重新开张时候,就能就着账本明确账目情况了。这种场景,对应就是 MySQL 正常关闭情况。...在文章里,也给你介绍了控制刷脏页方法和对应监控方式。 文章最后,给你留下一个思考题吧。...但如果你在配置时候不慎将 redo log 设置成了 1 个 100M 文件,会发生什么情况呢?又为什么会出现这样情况呢?

45020

git仓库配置及仓库特性

工作目录中除已跟踪文件外其它所有文件都属于未跟踪文件,它们既不存在于上次快照记录中,也没有被放 入暂存区。...初次克隆某个仓库时候,工作目录中所有文件都属于已跟踪文件,并处于未修改状态,因为 Git 刚刚检出了它们, 而你尚未编辑过它们。...换句话说,所有跟踪文件在上次提交后都未被更改过。 此外,上面的信 息还表明,当前目录下没有出现任何处于未跟踪状态新文件,否则 Git 会在这里列出来。 在项目下创建一个新 README 文件。...未跟踪文件意味着 Git 在之前 快照(提交)中没有这些文件;Git 不会自动将之纳入跟踪范围,除非你明明白白地告诉它“需要跟踪该文件”。...要暂存这次更新,需要运行 git add 命令。 这是个多功能命令:可以用它开 始跟踪新文件,或者把已跟踪文件放到暂存区,还能用于合并时把有冲突文件标记为已解决状态等。

40210

为什么建议在复杂但是性能关键表上所有查询都加上 force index

但是不能直观看出来为啥走错索引,需要通过 OPTIMIZER TRACE 进行进一步定位。但是在进一步定位之前,想先说一下 MySQL InnoDB 查询优化器数据配置。...SQL 查询,MySQL 会对所有 SQL 查询进行 SQL 解析、改写和查询计划优化。...执行时间正常 SQL 为啥 user_id 不同也走分析出走不同索引原因 同样,由于所有索引优化器数据是随机采样,随着表不断变大以及索引不断膨胀,还有就是可能加更复杂索引,这样会加剧使用不同参数分析索引消耗差异性...这也引出了一个新可能大家也遇到问题,在原有索引基础上,加了一个复合索引(举个例子就是原来只有 idx_user_id,后来加了 idx_user_status_pay),那么原来只按照 user_id...通过 Alter Table 修改某个表 STATS_SAMPLE_PAGES 时候,导致和 Analyze 这个 Table 一样效果,会在表上加读锁,阻塞表上更新以及事务。

1.3K20

entr:文件更改时重新运行构建

如果你传递 -r,那么 entr 帮你 git ls-files | entr -r python my-server.py 清除屏幕(entr -c) 另一个简洁标志是 -c,它让你可以在重新运行命令之前清除屏幕...与 git ls-files 一起使用 通常,跟踪文件集和我在 git文件列表大致相同,因此将 git ls-files 传递给 entr 是很自然事情。...现在有一个项目,有时候刚创建文件还没有在 git 里。那么如果你想包含未被跟踪文件怎么办呢?这些 git 命令行参数就可以做到(是从一个读者邮件中得到,谢谢你!)...每次添加新文件时重启:entr -d git ls-files 另一个问题是有时候添加一个新文件,当然它还没有在 git 中。entr 为此提供了一个很好功能。...如果你传递 -d,那么如果你在 entr 跟踪任何目录中添加新文件,它就会退出。

57820

Git笔记3】关于撤销、删除、恢复那些事儿

这一连环“如何”,且让慢慢道来,不过在此之前,还是想说说Git为什么比其他版本控制系统设计优秀,咱不能只口头说,不拿出真家伙。 ? 说说为什么Git比其他版本控制系统设计优秀?...答:Git跟踪并管理是修改,而非文件。 何为修改?比如新增了一行、删除了一行、更改了某些字符、删了一些又加了一些都是修改,甚至创建一个新文件也算一个修改。...从上面的实验我们可以理解git如何跟踪修改,且我们可以得知:对于git每次修改,每次修改,如果不用git add到暂存区,那就不会加入到commit中。 如何提交第二次修改呢?...现在已经放回工作区了,可以用git checkout -- readme.txt 进行撤销工作区修改。 ? git reflog看下所有记录。 ? ? 如何删除文件?...在Git中,删除也是一个修改操作,我们实战一下,先添加一个新文件test.txt到Git并且提交,一般情况下,你通常直接在文件管理器中把没用文件删了,或者用rm命令删了,这个时候,Git知道你删除了文件

79120

Git笔记3】关于撤销、删除、恢复那些事儿

这一连环“如何”,且让慢慢道来,不过在此之前,还是想说说Git为什么比其他版本控制系统设计优秀,咱不能只口头说,不拿出真家伙。 说说为什么Git比其他版本控制系统设计优秀?...答:Git跟踪并管理是修改,而非文件。 何为修改?比如新增了一行、删除了一行、更改了某些字符、删了一些又加了一些都是修改,甚至创建一个新文件也算一个修改。...从上面的实验我们可以理解git如何跟踪修改,且我们可以得知:对于git每次修改,每次修改,如果不用git add到暂存区,那就不会加入到commit中。 如何提交第二次修改呢?...现在已经放回工作区了,可以用git checkout -- readme.txt 进行撤销工作区修改。 ? git reflog看下所有记录。 ? 如何删除文件?...注意:但是可能影响你其他修改但是未提交其他内容。 如何恢复工作区文件?

2.2K10

MySQL深入学习第十二篇-为什么MySQL“抖”一下?

SQL 语句为什么变“慢”了 在本栏第 2 篇文章《MySQL深入学习第二篇 - 一条SQL更新语句是如何执行?》中,我为你介绍了 WAL 机制。...在第二讲画了一个 redo log 示意图,这里改成环形,便于大家理解。 如下 图2 所示为redo log 状态图: ? checkpoint 可不是随便往前修改一下位置就可以。...这时候掌柜要把所有账都记到账本上,这样过完年重新开张时候,就能就着账本明确账目情况了。这种场景,对应就是 MySQL 正常关闭情况。...在文章里,也给你介绍了控制刷脏页方法和对应监控方式。 文章最后,给你留下一个思考题吧。...但如果你在配置时候不慎将 redo log 设置成了 1 个 100M 文件,会发生什么情况呢?又为什么会出现这样情况呢?

50030

git reset 回退版本(版本穿梭)

前言 ---- git reset 命令用于回退到指定版本,是 git “后悔药” 如果创建了一个新文件,这个文件是未跟踪状态,那么使用 reset 回退版本时,这个新文件不会受到影响 如果创建了一个新文件...,并且这个文件已被跟踪(已被提交到暂存区),那么使用 reset 回退版本时,这个新文件就会被删除 2....6.txt 是新文件,它状态也不会改变,还是未跟踪状态 暂存区: 暂存区中 2.txt 修改状态和 7.txt 新文件状态保留 版本库: 因为 3.txt、4.txt、5.txt 是之后当前版本才加入版本库...--hard 参数重置 commit 和 add ,也重置工作区副本修改 其实就是在 --mixed 参数基础上,又重置了文件修改。...HEAD 用法 ---- 回退到当前版本,下面两种用法等价 (放弃所有修改) git reset --hard git reset --hard HEAD 回退到上一个版本 git reset --hard

1.1K30

Git本地仓库(Repository)详解

所有软件请到这里下载:http://msysgit.github.io/。 一、前言 本来呢,其实呢。以为Git也就几个命令,没什么难。...安装完成后桌面上会生成一个Git bash图标,双击打开会弹出一个类似命令行窗口东西,大家请看下图: ? 好了,到这里我们Git就安装完成了,嘿嘿!...3.向本地仓库中增加文件 下面我们向版本库中增加文件,需要注意是,在版本库中只能跟踪和管理文本文件,比txt文件、js文件、php文件、java文件等,所有的程序代码都可以。...有博友问了,为什么Gitcommit id不是1,2,3……这样递增数字,而是用SHA1算出来哈希数来表示呢?...嘿嘿,是因为Git跟踪管理是我们每一次修改(或操作),而不是文件。

1.4K50

git 入门教程之本地仓库 原

# 在工作空间创建指定目录 mkdir demo # 切换至工作目录 cd demo 创建本地仓库 既然已经创建了工作文件夹,那么我们自然是希望该文件下所有文件都能被 git 管理,也就是说在当前文件下创建新文件...,修改原文件内容或者删除文件等操作都能纳入版本控制中,不然为什么要用git 呢?...不幸是,Microsoft Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件改动,前面我们举例子只是为了演示,如果要真正使用版本控制系统,就要以纯文本方式编写文件....因为文本是有编码,比如中文有常用GBK编码,日文有Shift_JIS编码,如果没有历史遗留问题,强烈建议使用标准UTF-8编码,所有语言使用同一种编码,既没有冲突,又被所有平台所支持....言归正传,现在我们在demo 目录下创建一个test.txt 演示文件,内容如下git test # 创建新文件 touch test.txt # 编辑新文件,输入 git test echo "git

52730

git系列】简单入门git命令一

跟踪:工作目录中除已跟踪文件外其它所有文件都属于未跟踪文件,它们既不存在于上次快照记录中,也没有被放入暂存区。...跟踪新文件或者暂存已修改文件 命令:git add 参数:git add命令使用文件或目录路径作为参数;如果参数是目录路径,该命令将递归地跟踪该目录下所有文件。...这是个多功能命令:可以用它开始跟踪新文件,或者把已跟踪文件放到暂存区,还能用于合并时把有冲突文件标记为已解决状态等。...未跟踪文件意味着 Git 在之前快照(提交)中没有这些文件;Git 不会自动将之纳入跟踪范围,除非你明明白白地告诉它“需要跟踪该文 件”。...就会自动把所有已经跟踪文件暂存 起来一并提交,从而跳过git add步骤。

47010

版本管理·玩转git(快速入门git)

但是,随着你修改次数越来越多,你会发现,电脑桌面上出现了N多个Word副本,这时,你已无法分清每个副本对应是什么时候作修改。...我们输入 hello git 然后,我们查看一下工作状态 git status ? 红色框线内意思是说提交时除了未跟踪文件之外没有添加任何内容(使用“git add”进行跟踪)。...说明我们index.txt文件并没有被git跟踪,我们使用git add对文件进行跟踪。...git add index.txt 该条指令可以对index.txt进行跟踪,但是,文件如果非常多,这样写显然就很繁琐了,所以,我们可以使用 git add . 将当前目录所有文件进行跟踪。...我们再次创建一个文件并将其提交到代码仓库,这个相信已经难不倒你们了,直接贴出所有步骤。

45210

【Ajax】全面详细了解git基础操作【万字教学+面试常客】

仓库两种方式  在现有目录中初始化仓库  工作区中文件四种状态  检查文件状态  跟踪新文件  提交更新  对已提交文件进行修改  暂存和提交已修改文件  撤销对文件修改  向暂存区中一次性添加多个文件...执行 git init命令将当前目录转化为Git仓库, git init命令创建一个名为.git隐藏目录,这个.git目录就是当前项目的Git仓库,里面包含了初始必要文件,这些文件是Git仓库必要组成部分...,需要使用git跟踪管理该文件。...用简洁方式检查文件状态 git status -s  跟踪新文件 使用命令git add开始跟踪一个文件,git add ,跟踪之后我们可以在使用git status命令来查看。...使用git commit 再次提交文件  撤销对文件修改 撤销对文件修改指的是:把对工作区中对应文件修改,还原成Git仓库中之前保存版本。 操作结果:所有的修改丢失,且无法恢复!

39620

Linux 用户必备 Git 图形化工具

Linux 用户主要可以通过命令行管理 Git,但是,有几个图形用户界面 (GUI) Git 客户端可以促进在 Linux 桌面上高效、可靠地使用 Git,并提供大部分(如果不是全部)命令行操作。...它被称为专业人士 Git,它使用户能够应对日常 Git 挑战,并通过高效工作流程提高他们生产力。 用户可以将其与自己存储库或其他托管提供商一起使用。...Giggle Giggle 是一个用于 Git 内容跟踪免费 GUI 客户端,它使用 GTK+ 工具包,并且仅在 Linux 上运行,它是 2007 年 1 月黑客马拉松 Imendio 成果而开发...该项目旨在在 Git JQit Java 实现之上实现 Eclipse 工具。 Eqit 包含存储库浏览器、新文件、提交窗口和历史视图等功能。...您也可以告诉我们您最好带有 GUI Git 客户端以及您为什么喜欢使用它。

91940
领券