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

出力には、現在追跡されていない2つのものが表示されます。

  • ../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 に答える