Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git添加-&燃气轮机;仍然是";“无需承诺”;使用新文件_Git_Add_Init - Fatal编程技术网

git添加-&燃气轮机;仍然是";“无需承诺”;使用新文件

git添加-&燃气轮机;仍然是";“无需承诺”;使用新文件,git,add,init,Git,Add,Init,我正在努力使用Git,我似乎无法添加我的文件。我运行了ls以显示文件在当前目录中,然后运行了git add.然后运行了git status,其中显示“无需提交” 您的命令看起来是正确的(我已经用这种方式做过很多次了) 初试 git add --all 然后尝试git status。我认为这不会解决问题,但下一步值得一试 下一步,如果您有一个.gitignore文件,请尝试查看它(在您执行的顶层git init) 删除所有导致文件被忽略的列表。例如,是否有一个条目只有* 下一次尝试: git a

我正在努力使用Git,我似乎无法添加我的文件。我运行了
ls
以显示文件在当前目录中,然后运行了
git add.
然后运行了
git status
,其中显示“无需提交”


您的命令看起来是正确的(我已经用这种方式做过很多次了)

初试

git add --all
然后尝试
git status
。我认为这不会解决问题,但下一步值得一试

下一步,如果您有一个.gitignore文件,请尝试查看它(在您执行的顶层
git init

删除所有导致文件被忽略的列表。例如,是否有一个条目只有
*

下一次尝试:

git add --force
然后尝试
git status

如果这些都不起作用,我注意到您在
gitinit
中的输出是“重新初始化”而不是“初始化”,因此可能会出现一些问题。如果您刚刚初始化了它,并且不介意丢失历史记录,请从删除.git目录开始:

rm -rf .git

然后重新执行上面相同的命令。如果这不起作用,则需要有关设置的更多信息。例如,您可能有一个需要编辑的全局.gitignore文件:
~/.gitignore\u global

在我的例子中,我通过隐藏并立即应用隐藏来解决它:

git stash
git stash apply
这一顺序将使回购协议与以前一模一样。在此之后,执行
git add[file]
操作正常


(在suse linux下使用git版本1.7.12.4)

由于我多次遇到类似问题,我想补充一点,您应该再次检查您是否正在尝试从项目的根文件夹添加,并且当前是否在项目的根文件夹中

,以防其他人遇到此问题,git不添加目录的另一个原因是该目录中可能有一个
.git
目录

在这种情况下,git希望您将其视为。否则,只需删除该
.git
(在目录中,而不是根目录中),然后重试

方便的命令:

find . -name '.git' -type d

补充quux00的
.gitignore
答案,我发现由于构建经理(Maven)的临时“构建”目录,我的目录没有被跟踪。Maven在构建我的程序时将“build”添加到
.gitignore
,因此我自己的目录(巧合地命名为“build”)没有被跟踪。通过重命名我的“build”目录解决了这个问题。

在我的例子中,是由于在当前git目录中嵌套了git目录:

A1.java
B1.java
.git
someDirectory
  C1.java
  .git        

出于某种原因,当我在谷歌驱动器文件流中的目录中有一段时间的repo时,Git对我来说工作得很好。昨天,我遇到了同样的问题
git-add。
不会报告要提交的内容,但是
git-add
工作正常。我将目录移动到本地硬盘(从Google drive文件流中删除),然后
git add.
获取了我所有的待定更改。请注意,当目录仍在Google Drive文件流中时,将目录设置为“脱机可用”没有任何效果。

我刚才遇到过这种情况。就我而言,这是文件(小写/大写)问题。 事情是这样的-我修改了
NuGet.config
文件,之后,Visual Studio出于某种原因重新创建了此文件,但名称为
NuGet.config
(请注意,不是
.config
,而是
.config

我发现的最简单的修复方法是将该文件删除(实际上是移动)到另一个位置,然后在没有该文件的情况下提交。
git status
消息被删除

[deleted] NuGet.config
[deleted] NuGet.Config
然后我把我的文件复制回repo目录并提交,一切都按照一开始的样子进行


长话短说,在我的例子中是文件命名策略冲突。在Windows中,文件名中的大小写字符并不重要,但对于源于UNIX的
git
命令do.

我在向现有初始化的git文件夹添加新文件时遇到了类似问题
git add
不起作用。对我有效的是GitAdd。我在mac上使用Bash5和Git2.25。我希望这也能帮助其他人…干杯。

我发现了一个完全不同的原因,这是很了不起的。 如果您不在Windows中,这可能不会影响您。 如果您在未老化的更改中看到您的文件,.gitignore永远不会是您的问题。 仔细检查一些东西。您的文件是否同时处于暂存和未暂存更改中

git status
Staged changes
  modified: source/abc.Ui.Tests
  modified: source/def.Ui.Tests/def.UI.Tests.csproj
Unstaged changes
  modified: source/abc.UI.Tests
  modified: source/def.UI.Tests/def.UI.Tests.csproj
看到区别了吗?很难发现。Windows不关心大小写,但git bash关心大小写

git rm -r source/abc.Ui.Tests
git reset source/abc.UI.Tests
git commit -m "Fixing capitalization"
git checkout source/abc.UI.Tests
git status
     working clean tree
请逐个尝试添加
git

如果第一个文件夹已暂存。尝试添加下一个文件夹。在我的情况下,我得到一个文件包含一些问题


如果在某些文件中出现问题时直接运行
git add.
,git将忽略所有问题。不是专家,但我就是这么想的:)

这似乎有点愚蠢,但可能会节省一些时间:检查文件是否已被跟踪并且没有修改:
git ls文件--错误取消匹配
。如果跟踪文件,则此命令不应显示任何错误


我只是花了几分钟来弄明白这个…

Fanstatic!谢谢我删除了.git目录,然后执行了git init、git add。对我来说,git add--所有这些都有效。。有什么问题吗/这对我有用。我所做的唯一更改是
gitadd--force
.git add--最新版本的all for me—2018年8月—适用于我。git添加--但武力并没有起作用。如果我在gitignore中有一个不想删除的文件或路径,但我想提交该文件+1,这是个好主意。问问题的人往往不在问题的根源。有趣的是,在本例中,OP没有显示
cd
ing进入项目目录
[deleted] NuGet.config
[deleted] NuGet.Config
git status
Staged changes
  modified: source/abc.Ui.Tests
  modified: source/def.Ui.Tests/def.UI.Tests.csproj
Unstaged changes
  modified: source/abc.UI.Tests
  modified: source/def.UI.Tests/def.UI.Tests.csproj
git rm -r source/abc.Ui.Tests
git reset source/abc.UI.Tests
git commit -m "Fixing capitalization"
git checkout source/abc.UI.Tests
git status
     working clean tree