标签: git-stage

如何将未暂存的文件移至未跟踪的?

假设这是我在 git status 中查看的内容:

Changes not staged for commit:
    modified:   Makefile.in

Untracked files:
   ../node_modules/somepath/inverter_packet.js
Run Code Online (Sandbox Code Playgroud)

我想做的是将 Makefile.in 从“未暂存提交的更改”移动到“未跟踪的文件”。

我知道我可以忽略使用 所做的更改git update-index --assume-unchanged Makefile.in,并使用命令将它们取回--no-assume-unchanged,但我不想让这些文件完全脱离视图,因为我偶尔会编辑/提交它们。

我想从“未暂存”部分中删除文件,但在输入 时仍会看到它git status

或者,如果我可以(最好是简单地)在输入时停止显示未暂存文件的差异(例如,像我的 Makefile.in 一样)git diff,那也很好。

git git-add git-stage git-rm

5
推荐指数
1
解决办法
6889
查看次数

Git:防止暂存某些文件,自动暂存所有文件

我想取消暂存当前工作副本中的所有内容,但会自动暂存我将来编辑的所有文件和大块

例如,我使用的 CocoaPods 版本与我正在从事的项目中的大多数其他人不同。我想升级配置文件的配置以与我的 CocoaPods 兼容,而不会破坏他们的。最简单的方法是不在拉取请求中包含新配置,但这意味着我无法构建。隐藏和弹出将不起作用,因为如果我在编辑配置后隐藏然后应用我的更改,弹出将修复配置但撤消我的更改。

我应该如何解决这个问题?

git git-stash git-stage

5
推荐指数
1
解决办法
1422
查看次数

在没有冲突的 Git 合并之后,我没有触及的许多文件都变成了未暂存提交的更改和已暂存提交的更改

这个问题与合并问题非常相似,但有一个关键区别:不存在合并冲突。

所以我正在一个功能分支中工作,提交一些更改,然后运行git merge master​​. 我的目标是在创建 PR 将分支合并回 master 之前使用最新的 master 更新我的功能分支(这是我们选择的工作流程,其想法是首先解决功能分支上的问题)。我得到零合并冲突,并且合并似乎已完成。当我运行时,git log我的功能分支似乎拥有来自 master 的最新提交。但是,当我运行git status一堆我没有触及的文件(但似乎已在 master 中更新)时,突然进入我的“已提交的更改”列表,其中一小部分显示为“未暂存提交的更改”和“未跟踪的文件”。这不是一对一的,在我的最新示例中,我暂存了 45 个文件,但只有 33 个文件未暂存+修改或未跟踪。我没有提交这些文件,因为功能分支似乎已经拥有来自 master 的最新提交。

迄今为止,我只能通过运行git stash(并定期清除我的存储空间)来处理这个问题。有时我get reset HEAD也会跑过去清理。这看起来没问题,因为我有来自 master 的最新提交。然而,我不确定这些是可取的行为还是正确的做法。我是否因为忽略这些暂存文件而错过了 git merge 工作流程的关键部分?这里发生了什么?这种行为的名称是什么?我在我读过的任何指南中都找不到对此的引用。

最后一点可能会有所帮助。我使用的是 Mac,但这是一个 .net + React 项目,所以很多开发人员都在 Windows 上。这可能是 autocrlf 或平台之间其他行结束变化的问题吗?

git merge git-merge branching-and-merging git-stage

5
推荐指数
0
解决办法
818
查看次数

VS Code 阶段更改快捷方式

什么是 VS 代码 stage changes快捷方式?

我的意思是是否可以在不单击版本控制选项卡中的加号按钮的情况下暂存选定的文件?

在此处输入图片说明

也许没有捷径可以设置一个?

ide git keyboard-shortcuts git-stage visual-studio-code

5
推荐指数
2
解决办法
1968
查看次数

如何查看 git 添加的文件?

有时我运行时git add .会添加不应该添加的大文件。如何在未提交的情况下查看添加了哪些文件?以及如何一次“取消添加”这些文件或所有文件,以便我可以修复.gitignore

git git-add git-stage

5
推荐指数
2
解决办法
1万
查看次数

我是否可以标记一个文件以进行解析,而无需使用一个命令将其添加到索引中?

当发生冲突时,git status显示如下:

Unmerged paths:
  (use "git restore --staged <file>..." to unstage)
  (use "git add <file>..." to mark resolution)
    both modified:   some_file
Run Code Online (Sandbox Code Playgroud)

现在我可以git add some_file按照命令的建议标记解决方案,但这也会阶段化some_file,我可能不想这样做。

如何标记文件以进行解析而不将其添加到索引中?只需两步即可轻松完成:

git add some_file
git restore --staged some_file
Run Code Online (Sandbox Code Playgroud)

但如果可能的话,我该如何一步完成呢?

如果最佳实践不建议这样做,请告诉我。

git git-add git-index git-stage git-merge-conflict

5
推荐指数
1
解决办法
832
查看次数

GIT 阶段并仅提交具有特定文件结尾的文件

我有大量修改过的文件,其中有 2/3 的文件是我不太关心的图像,但我仍然想提交它们。对于其余的事情,我需要认真研究这些变化。为了最大限度地减少我需要查看的文件,我只想暂存 .png、.jpg 和 .gif 文件并提交它们(减少背景噪音以便查看牛肉)。

话说回来...

如何仅暂存和提交具有这些文件结尾的文件而不单独添加每个文件?

编辑:

文件被修改

目录结构不扁平

我正在覆盖我高度定制的 WP 主题,并且需要应用一个安全更新

git git-commit git-stage

4
推荐指数
1
解决办法
2107
查看次数

将暂存文件与存储中的文件进行比较

是否有 --staged(又名 --cached)选项用于比较 git stash 中的文件?

在这里,我将最近的提交与暂存文件进行比较(我使用的是显式 @{} 语法,但我知道可以推断出 @{0}):

git diff stash@{0}:spec/blueprints.rb HEAD:spec/blueprints.rb
Run Code Online (Sandbox Code Playgroud)

在这里,我将存储的文件与磁盘上的文件进行比较:

git diff stash@{0}:spec/blueprints.rb spec/blueprints.rb
Run Code Online (Sandbox Code Playgroud)

我如何将当前上演的内容与存储中的内容进行比较?这不起作用:

git diff --staged stash@{0}:spec/blueprints.rb spec/blueprints.rb
Run Code Online (Sandbox Code Playgroud)

git git-diff git-stash git-stage

3
推荐指数
1
解决办法
598
查看次数

如何查看包含 git 暂存更改的文件

git diff --staged 允许您查看 HEAD 和暂存更改之间的更改。

如果我要提交暂存的更改,如何查看 HEAD 中存在的完整文件?如何查看其中的特定行子集?

git git-stage

3
推荐指数
1
解决办法
781
查看次数

如何 git 显示暂存文件?

我可以做,git show <some-commit>:path/to/some/file但是我要替换什么<some-commit>才能获得文件的当前暂存版本?

上下文:我正在编写一个预提交钩子,我想对暂存文件进行检查,而不是诉诸于隐藏未暂存的更改。有没有更好的办法?

git git-show git-stage

3
推荐指数
1
解决办法
194
查看次数