5

我在 AIX 6.1 上设置了 GIT 并且遇到了问题。

我遵循的步骤顺序如下所示:

  1. 我创建一个文件夹。
  2. 进入文件夹并初始化非裸存储库
  3. 初始化用户名和用户电子邮件
  4. 创建一个名为 index.html 的文件,其中包含一些数据。
  5. 创建一个名为 newfolder 的子文件夹
  6. 进入新创建的文件夹。
  7. 创建一个名为 index-2.html 的新文件,其中包含一些数据。

执行上述所有步骤并给出git status命令后,我得到以下结果:

# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       ../index.html
#       ./

我知道上面目录中的 index.html 正在显示,但为什么没有显示当前目录中的 index-2.html。

文件 index-2.html 也应该被正确跟踪。

4

2 回答 2

9

输出显示了当前未跟踪的两件事:

  • ../index.htmlindex.html父文件夹中的文件
  • ./– 当前文件夹,包括其所有内容

所以它确实检测到你有一个未跟踪的文件,但是因为它也不知道它的文件夹,它只是显示文件夹来累积它的所有内容。

如果您添加文件并让 Git 跟踪它们,它们将正确显示:

git add index-2.html
git add ../index.html
于 2013-01-15T14:45:01.477 回答
3

它正在跟踪文件夹 ./ ,这意味着当前文件夹。git 不会(如果我错了,请纠正我),根本不关心子文件夹。这意味着如果您有一个带有文件夹 foo 的存储库,该文件夹已经在存储库中。在 foo 中添加一个子文件夹 bar,并在 foo/bar 中创建一个文件 foobar.txt。那么你只会得到:

# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       ./bar

这意味着如果你在你的 git status 命令之前完成了 cd .. ,你会得到:

# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       index.html
#       newfolder

即使你里面有一个文件。

这样做的原因是 git 跟踪内容,而不是文件。由于 index2.html 实际上是文件夹 newfolder 的内容,并且您没有跟踪 newfolder,git 不知道 index2.html 存在。

于 2013-01-15T14:51:44.843 回答