2016-05-18 5 views
3

を削除し、私が取得:同じファイルが両方の人跡未踏のように記載されているとのGitリポジトリに<code>git status</code>を実行

Changes not staged for commit: 
    (use "git add/rm <file>..." to update what will be committed) 
    (use "git checkout -- <file>..." to discard changes in working directory) 

     deleted: path/to/file1.sql 
     deleted: path/to/file2.sql 
     deleted: path/to/file3.sql 

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

     path/to/file1.sql 
     path/to/file2.sql 
     path/to/file3.sql 

no changes added to commit (use "git add" and/or "git commit -a") 

他のすべてのファイルは大丈夫です。 私は既にのリセット、チェックアウトなどを試みましたが、再びというリポジトリを複製しました(私たちは集中サーバを使用しています)。問題を解決するものはありませんが、Windowsを使用している特定のユーザーのみが問題を解決します。 この問題はLinuxでは発生しません。

追加情報:

  • git diffが出力を示していません。
  • 私は既にcore.autocrlfをfalseに設定しようとしました。
+3

単に変更されたものとして表示され、削除されたものではなく、同時に追跡されないものとして示される。私はここでケーシングの問題を疑う。パスは本当に同じですか、あるいは大文字と小文字の違いはありますか? – Vampire

+0

あなたの.gitignoreと、 'git log-path/to/file1.sql path/to/file2.sql path/to/file3.sql'の出力を表示してください。 –

+0

これは、作業ディレクトリを変更した後、またはブランチをチェックアウトした直後/リポジトリのクローン作成? –

答えて

2

実際には非常にシンプルなものでした:ファイルは、ファイル名の末尾でスペースでコミットされていました。 明らかにWindowsはこれを処理することができず、毎回(クローン後、チェックアウト後など)スペースを自動的に削除します。申し訳ありませんが、これは私が今、私はサンプルGitリポジトリ内のスペースを表示するには、それを修正することを、今、問題には表示されませんでした(

ので、Gitは正しい情報、"path/to/file1.sql "が削除されたファイルを示し、ファイル"path/to/file1.sql"は新しいです出力)。私は単にlsgit statusが大丈夫だったことを見た後にLinux上でディレクトリ/path/to/の内容を編、そしてあなたが何とかということに気づく場合を除き、Windowsの(可能ではないですべてをデバッグしようとしたので、

私は、最初はこれに気づくことができませんでしたGit出力の右側の部分を選択することによって)。 私はVampireさんcommentのおかげで、私はTABを押すと、私はそれを考え出した"/path/to/file1.sql\ "を見た後

ls /path/to/file1.sql 
ls: file not found 

奇妙な結果を得た(Linux上)のファイル名に追加のチェックを行っていたが。 問題は非常に些細なことだと思いますが、誰かが名前の最後にスペースを入れてファイルをコミットすることは毎日起こらないので、Gitには本当の問題はないことが分かると思います。

私は今質問と答えを残しておきます。あなたがdownvoteに同意しないとすべてを削除します。

コメントに協力いただいた皆様に感謝します。

0

私は私がことがわかっここGit doesn't stage my files any longer, and reports them as both "deleted" and "untracked". Why is that, and how to avoid it?

を議論し、非常によく似た問題を抱えていた:git add --allを使用して

  • があっても...動作しませんでしたgit add -Aを使用して

  • を上演するためにうまく働きました最初のものに相当するはずです

  • 空白を入れるとあなたの問題でしたが、それは私の原因となったものではありませんでした。(未解決のままです。参考までに、私はMac OS 10で作業しています。(私はまだ問題私は、単純なコマンドgit add filename(スペースなし)で自分のファイルを追加し、まだすべて(git add --all)を追加することによって、それを解決する任意の時間を持っているので、それは手間の少しである10

  • ビーイングの両方のために便利ではない、そして説明できないまま残っている)でも、私は自分の仕事に進むことができます。ここで

は、問題を再作成するもの、そしてそれをバックに解決するものではなく、何をしたか、働いていたかの実例である:

これは、問題をとして、その後のファイルがなり終わるノーライン確かです
$ git add --all 
$ git status 
On branch master 
Your branch is up-to-date with 'origin/master'. 
Changes to be committed: 
    (use "git reset HEAD <file>..." to unstage) 

    modified: Challenge28.py 
    modified: ch28_NN.py 

$ git add Challenge28.py 
$ git status 
On branch master 
Your branch is up-to-date with 'origin/master'. 
Changes to be committed: 
    (use "git reset HEAD <file>..." to unstage) 

    deleted: .gitignore 
    modified: Challenge28.py 
    deleted: ch28_NN.py 
    deleted: requirements.txt 

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

    .gitignore 
    ch28_NN.py 
    requirements.txt 

$ git add --all 
$ git status 
On branch master 
Your branch is up-to-date with 'origin/master'. 
Changes to be committed: 
    (use "git reset HEAD <file>..." to unstage) 

    modified: Challenge28.py 
    modified: ch28_NN.py 

$ git add Challenge28.py 
$ git status 
On branch master 
Your branch is up-to-date with 'origin/master'. 
Changes to be committed: 
    (use "git reset HEAD <file>..." to unstage) 

    deleted: .gitignore 
    deleted: Challenge28.py 
    deleted: ch28_NN.py 
    deleted: requirements.txt 

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

    .gitignore 
    Challenge28.py 
    ch28_NN.py 
    requirements.txt 

$ git add -A 
$ git status 
On branch master 
Your branch is up-to-date with 'origin/master'. 
Changes to be committed: 
    (use "git reset HEAD <file>..." to unstage) 

    deleted: .gitignore 
    deleted: Challenge28.py 
    deleted: ch28_NN.py 
    deleted: requirements.txt 

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

    .gitignore 
    Challenge28.py 
    ch28_NN.py 
    requirements.txt 

$ git add --all 
$ git status 
On branch master 
Your branch is up-to-date with 'origin/master'. 
Changes to be committed: 
    (use "git reset HEAD <file>..." to unstage) 

    modified: Challenge28.py 
    modified: ch28_NN.py 
関連する問題