问题标签 [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-merge - 忽略对目录的所有更改
我们有一个 git 子模块,它位于几个 repos 中一个名为“config”的文件夹中。
我在进行合并时得到这个:
它以 1 退出。
如何忽略对 'config' 文件夹的所有更改,这是一个 gitsubmodule?
我试过了:
但这并没有做任何事情
git - SourceTree / git add - 无法暂存修改过的文件
我每天都使用 SourceTree,从来没有遇到过这样的问题。但是今天我做了一些小改动,现在我最终遇到了这个问题:
我今天改变了什么?
我在我的 git 配置中添加了 p4Merge 作为合并工具和差异工具。然后我改变主意并从我的 /.gitconfig 文件中删除了 p4Merge 的条目,因为我注意到我最终在那里有合并和差异工具的双重条目。
这是看起来的样子
但是,在删除 p4Merge 工具的所有条目后,我注意到我无法再从 SourceTree 暂存文件。下面的屏幕截图显示我有 4 个升级文件。如果我尝试通过选中它们旁边的复选框来暂存它们,则不会发生任何事情。不会移动到暂存文件部分
更新
使用git add .
也无济于事,我注意到终端显示文件已修改,但它们不是红色也不是绿色,而是紫色:
git - eclipse 中的 Commit 和 Push 将整个文件提交为已更改
我已经开始在“Eclipse Jee Oxygen”中使用 Git 登台。每次我对文件进行小的更改(修复错误)时,我都必须提交并推送。但在 git 中,显示整个文件已更改。为什么会这样?这让在同一个存储库上工作的其他人感到困惑。
如何解决此问题以仅从 Eclipse 的 Git 暂存视图提交和推送更改?
任何帮助表示赞赏。
windows - Git 尝试在 Windows 上暂存 5000 多个文档**
我和这个有同样的问题,但我在 Windows 上。我到处搜索以找到一个.git
(不仅在Windows
),但什么也没有。甚至在我做过的项目中git init
(通过 VS 代码的终端)。我想这就是我收到此错误的原因。因为我使用 git 的所有项目,都使用.git
某处的同一个文件......
当我(在项目中)运行git rev-parse --show-toplevel
以找出我的 git 存储库根在哪里时,我得到C:/Users/username
. 这当然是错的!但是那里(如您在图片中看到的)没有.git
文件。我应该删除gitconfig
吗?
- 我怎样才能找到
.git
造成问题的原因? - 为什么我使用的项目
git init
没有.git
文件?
git - 恢复先前阶段的更改(或:撤消对 .git/index 的更改)
当试图了解撤消各种 git 操作的方法时,我想出了一个我不知道如何处理它的场景。免责声明:在实际使用 git 'in production' 时,我没有遇到这种情况,但我仍然认为这不仅仅是一个学术问题。
让我们看看下面的场景
- 操作之前提交的文件:
echo "some content" >> example.txt
- 阶段变化:
git add example.txt
- 上次提交的结帐更改:
git checkout @ -- example.txt
- 意识到您选择了错误的文件并且您想要撤消最后一个命令以
"some content"
恢复您的更改 ()
我认为幕后发生的事情
每次在.git/objects/git add
下创建带有 blob 对象的暂存更改并且索引文件 ( .git/index ) 都会更新。如果我多次更改和添加内容,将会有多个 blob。旧的不会立即被垃圾收集。
当从上面运行 checkout 命令时,索引会立即更新(我还假设内容只会在我的工作目录中,但未暂存)。这样参考就消失了,我不能使用诸如git checkout-index
还原它们之类的东西。
除非垃圾收集在技术上仍然存在。但是我不知道如何取回它,然后手动尝试以某种方式找到哈希并使用git cat-file
. 例如,对于git add
多次运行也是如此,尽管在这里想要返回先前分阶段的更改可能并不是真正的用例。(或者也许当从存储中弹出更改时?...)
所以这一切都归结为这些问题:
git reflog
索引有类似的东西吗?- 被
git checkout @ -- file
认为是像 git 这样的危险命令reset --hard
,您可能会在其中丢失您的工作?
如果答案是“否”/“是”(我到目前为止的假设):
- 是否有手动更改/重写索引的管道命令?(见上面物体仍然存在的情况)
奖励:是否有另一种方法可以在不立即暂存的情况下签出单个文件?
git - 如何撤消“git add -A”和“git init”,但仍将子文件夹保留在 Git 中?
我错误地在主文件夹(名为“工作区”)上运行了“git init”,然后是“git add -A”。我打算在运行这些命令之前“cd”到一个新的项目文件夹(名为“authentication”)。
问题是,这个主文件夹“工作区”已经有许多项目子文件夹,这些子文件夹事先分别位于 Git 中。主文件夹以前不在 Git 下,也不打算在。幸运的是,我没有在主文件夹上运行“git commit”。
如何安全地反转主文件夹上的“git add -A”,以及恢复主文件夹上的“git init”命令,而不影响单独保留在版本控制 (Git) 下的所有子文件夹项目?
git - 用于 IntelliJ IDEA 的 Git - 提交文件时是否隐式暂存文件?
我是 Git 的新手,并通过使用 Git for IntelliJ IDEA 向我的同事学习。最近我开始阅读 Git 官方文档,其中谈到了“暂存文件”,这是我在这种情况下从未听说过的一个词。因此,我目前对“暂存文件”的含义有些困惑和不确定。
文档说修改后的跟踪文件需要通过命令暂存git add
才能提交,并且文件可以暂存和未暂存,这意味着只能提交文件的暂存部分,而文件仍然存在使用命令“git commit”后用未暂存的部分进行修改。
使用 Intellij IDEA,我不必手动暂存文件以正确提交它,即使我已经能够只提交文件的一部分,而并不真正知道幕后发生了什么。那么,您能否向我证实,使用 Git for IntelliJ IDEA,文件在我们提交时首先隐式暂存?
parameter-passing - 将 gitlab-ci 中的参数发送到 python 项目
最近我创建了一个项目并将其 dockerize。为了写一个.gitlab-ci.yml,我想准备一个测试阶段来测试我的程序。
在我的 python 代码中间,我向用户询问用户名和密码,但是因为在 gitlab-ci 中,一切都应该自动执行,我想在我的 gitlab-ci 中发送用户名和密码,而不是从输入中读取. 如何将作为静态短语的用户名和密码发送到我的 gitlab-ci 中的 python 代码?
请注意,我不想在我的 python 代码中使用 sys.args,因为在实际执行中我真的想从用户那里读取它,但只是在 gitlab-ci 中,我想向它发送一个特定的用户名和密码程序,以便它可以自动执行。