- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
来自 git reset --hard HEAD leaves untracked files behind :
When I run
git reset --hard HEAD
, it's supposed to reset to a pristine version of what you pulled, as I understand it. Unfortunately, it leaves files lying around, as agit status
shows a big list of untracked files.How do you tell git "Just bring it back to EXACTLY what was in the last pull, nothing more, nothing less"?
要删除这些文件,我必须运行 git clean -df
。
有人可以解释为什么它以这种方式工作以及哪些文件将变得无法跟踪吗?
最佳答案
根据评论中的注释更新。
最后一个问题在先:
which files will become untracked?
没有。但是已经未跟踪的文件应该保持未跟踪状态并且不会受到影响。这与大多数 git 命令的行为一致(除了那些明确影响未跟踪文件的命令)。
不过,我说应该保持未跟踪状态,因为有一种情况甚至不是这样:如果您要重置的提交在与当前未跟踪文件相同的路径下有一个文件,然后工作树版本被不可逆转地破坏。这是非常不符合 git 的行为,IMO 是一个错误,但它确实存在。
Can somebody please explain why it works this way[?]
因为如果 git 隐式删除或修改未跟踪的文件,您将无法恢复该文件在 git 搞砸之前的样子。如果您希望该文件在 git 的控制下,git 会假定您已经添加并可能提交了它。因为你没有(文件未被跟踪),git 通常不会弄乱它,除非你清楚地告诉它应该这样做。
那么回到最初问题的前提:
When I run git reset --hard HEAD, it's supposed to reset to a pristine version of what you pulled, as I understand it
没有。文档清楚地表明只有跟踪状态被还原。
关于git - 为什么 `git reset --hard HEAD~X` 会留下未跟踪的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46300977/
目前,我在单击我的正文时打开一个新选项卡,但它将焦点更改为子窗口。但我想通过留下窗口来做到这一点,这样弹出窗口就不会被阻止,并且我可以将焦点放在当前窗口上。 以下代码当前正在运行 /** * For
我有一个带有线性渐变的 css 背景图像。 CSS 代码: .footer-about { display: flex; align-items: center; justif
在服务中包含以下代码(假设在快速端点上): async function (res, req, next) { const fetch = require('node-fetch'); awa
我正在使用 IImageList 和 SHGetFileInfo 为任何给定路径提取巨型图标。一旦我有了它,然后我使用 DrawIconEx 将 HICON 渲染到 HBITMAP 中,最终使用 GD
我有图表并计算了网络密度,现在我应该只保留具有最大权重的分支(网络密度的前 10%,例如 200 中权重最大的 20 个分支)。我找不到该怎么做? 最佳答案 这个问题有点令人困惑,因此,如果稍后出现更
我一直在尝试使用 jquery 创建一种效果,当您将鼠标移到一个 div 上时,整个 body 都会移动,并沿着它经过的点留下一条轨迹。我创建了一个可以使整个 body 移动的功能,但我找不到离开轨迹
我想在桌面上显示放大和缩小图标(控件),而仅在移动设备上浏览时显示 gps 图标。我正在使用这个 css https://unpkg.com/leaflet@1.1.0/dist/leaflet.cs
相关代码(索引为数组大小): typedef struct elemento { unsigned long linha; unsigned long coluna; doub
我有一个 div,因此当我单击时,它会切换为展开或缩回。它在所有浏览器上都运行良好,尽管有一点让我很感兴趣。在谷歌浏览器上,当它缩回时,它会在运动中留下细线。 www.rezoluz.com/logi
每当我的应用程序尝试通过调用 CreateDIBSection() 或使用 LR_CREATEDIBSECTION 标志调用 LoadImage() 来创建 DIB 部分时,它似乎都会成功返回。它返回
我想在 Protractor 测试中脱离 Selenium 控制流。 以下是我迄今为止遇到的步骤和问题: 1。逐个测试禁用它 我的第一个想法是使用 SELENIUM_PROMISE_MANAGER 以
我正在构建一个部署在 CentOS 7.2 上的 ASP.Net Core (netcore 1.1) 应用程序。 我有一个通过 System.Diagnostics.Process 调用外部进程(也
我正在为我的网站创建一个聊天小部件。用户将能够输入纯文本 - 没有 html。 为了消除 HTML 标记并允许用户使用“”,我正在接受他们的输入并在用户屏幕的输入上使用 strip_tags() 和输
我是一名优秀的程序员,十分优秀!