问题标签 [git-stage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - Git:防止暂存某些文件,自动暂存所有文件
我想取消暂存当前工作副本中的所有内容,但会自动暂存我将来编辑的所有文件和块。
例如,在我正在从事的项目中,我使用的 CocoaPods 版本与大多数其他人不同。我想升级配置文件的配置以与我的 CocoaPods 兼容,而不会破坏他们的。最简单的方法是不在拉取请求中包含新配置,但这意味着我无法构建。存储和弹出将不起作用,因为如果我在编辑配置后存储然后应用我的更改,弹出将修复配置但撤消我的更改。
我应该如何解决这个问题?
git - 关于如何正确比较暂存区内容与使用 GIT 的最后一次提交的一些疑问?
我是GIT的新手,我对git diff --staged的正确使用有以下疑问,应该将暂存区内容与上次提交进行比较。
所以我得到这个输出:
那么这个输出到底意味着什么?我认为这意味着,在暂存区我添加了以下两行:
1)
2)
我在最后一次提交中没有。
我的推理正确吗?
libgit2 - 确定 workdir 是否有更改并且 index 是否已暂存更改 (libgit2)
我查看了repository.h
,index.h
并没有找到如何确定 workdir 是否有任何变化?而且,如果索引有任何阶段性的变化?我对细节不感兴趣,只想要整体状态。
git - 在 Git 中撤消添加文件
我在 git 的目录中有一堆没有被跟踪的文件。我犯了一个错误,git add .
那就是提交并推动更改。我怎样才能回到在该提交之前未跟踪的文件再次未跟踪但仍在目录中的位置(git reset --hard
删除了所有文件,对我不利,而不是再次取消跟踪它们)。我在不同位置有许多文件需要不被跟踪,所以git reset <FILE>
对我不起作用。
git - Git diff 不显示新添加文件的更改
首先,我在新克隆的 repo 上做了 git status
现在我从另一个目录复制一个测试项目
以下是文件
但是 git diff 给出以下结果
基本上,什么都没有。但是,如果我暂存它并执行 git diff -cached 它显示如下
如何在不暂存的情况下查看上述更改(即,复制的文件夹未暂存时)。
请在这里解释 git 是如何工作的。是否有可能在没有第一次提交的情况下看到复制的文件夹/文件更改?
git - Git 不再暂存我的文件,并将它们报告为“已删除”和“未跟踪”。为什么会这样,如何避免呢?
我已经成功地处理了一个简单的 git repo,有 4 个文件,多次添加和提交它们。
但是最近,每当我尝试添加其中一些,然后询问状态时,git 都会报告我的所有文件都已删除且未跟踪。所以我不能添加我的文件。
我现在唯一的解决方案是进行备份并尝试重置为 unstage。
我想了解出了什么问题,以及如何避免它。
intellij-idea - 如何不自动暂存重命名的文件
当我在 intellij 中重命名一个重命名文件的类时,它会自动在 git 中暂存重命名的文件。
我希望intellij 停止这样做。有谁知道是否以及如何改变这种自动行为?
笔记:
我有 intellij 配置,这样当我创建一个新文件时,它会询问是否应该将它添加到 git。如这里所述:Intellij Idea 可以自动阶段更改
但是当重命名一个类/文件时,它什么都不问
git - 同一文件的暂存版本和未暂存版本之间的差异,使用 difftool
有没有办法查看同一文件的版本staged
和版本之间的差异?unstaged
例如:
当我暂存更改然后我再次修改文件而不暂存它时,就会发生这种情况。
EDIT
该git status -vv
命令不够好,因为我需要使用diff
/difftool
命令。那是因为实际上在太多文件中有太多更改,并且滚动浏览所有文件效率不高。但是diff
/difftool
允许我指定我感兴趣的文件。
xcode - libgit2:如何在一个大块中展示特定的行
我正在编写一个 mac 应用程序,它允许我仅将包含特定文本的行作为子字符串暂存。基本上,我尝试构建源树为其用户提供的功能。在大块中分期选定的行。我的选择逻辑是,选择包含特定文本的行作为子字符串。但我不知道如何使用 libgit2 来实现这一点。
我已经像这样初始化了回购
然后我正在为工作目录创建一个差异索引,如下所示。
之后,我可以使用下面的回调函数遍历大块和每个大块中的行。
并且为大块中的每一行调用回调。
现在我意识到我需要以某种方式创建一个补丁,并且只将差异中的必要行添加到补丁中。
任何人都可以指导正确的方向吗?如果 libgit2 还不允许这样做,是否还有其他库可以让我这样做。atlassian 源代码树似乎也在后台使用 libgit2。他们怎么可能实现这一点?
顺便说一句,git CLI 允许通过此答案中给出的修补来做到这一点。 https://stackoverflow.com/a/32311872/569497