git 添加有时在 bash 脚本中不起作用

git add sometimes doesnt work in bash script

另一个 git 问题的别名。 在我工作的地方,我们有一个相当不寻常的工作流程,所以我构建了一个 gui 来管理提交

#!/bin/bash
cd /my/git/repo/
git add -u
git add -A
git commit -m 
git pull
git push
git status

然后我 运行 通过单击我的 webUI 上的提交按钮来 运行 这个脚本,它只是 运行 这个 bash 带有 phps shell_exec 和 return 的脚本git 状态输出到 gui。

问题是有时(不足以查明问题所在)脚本失败并响应目录中仍有未暂存的文件,从那里开始工具损坏,直到手动 add/commit完成了。

(当我可以重现一个漂亮干净的错误消息时 post 会出现错误消息)

在添加中使用 --force 确实解决了这个问题,但 --force 也忽略了。git忽略,我想在不使用 -f

的情况下修复它

有没有办法强制添加目录,同时仍然遵守 .gitignore?

感谢您的宝贵时间!

编辑:这是错误

[master e02cb4b] test 2 files changed, 6 insertions(+), 3 deletions(-) 
Already up-to-date. 
On branch master Your branch is up-to-date with 'origin/master'. 
Changes not staged for commit: 
(use "git add ..." to update what will be committed) 
(use "git checkout -- ..." to discard changes in working directory) 
modified: ANN/ANN3_1/ann-styles-varB.css no changes added to commit 
(use "git add" and/or "git commit -a")

感谢评论。

我们发现该错误是由于硬件限制引起的,并且通过将该工具镜像到具有更快硬盘驱动器/raid 阵列的服务器来解决,因为程序员可以在提交和推送之间更新文件或 devbox 糟糕的硬盘驱动器可能只是被锁定了。

所以解决方案不在代码中,但我确实将 git 添加更改为单个

git add -A .

现在可以完美运行了。