web-dev-qa-db-ja.com

誤って配置された.gitディレクトリのトラブルシューティング(コミットするものはありません)

私はこのメッセージを受け取り始めました。何を編集してコミットしようとしても、コミットするものは何もないという。 gitは私の作業ディレクトリを見ていないようで、他の場所を探しています。

git statusを実行すると、同じ結果が出力されます。

nothing to commit (working directory clean)

新しいブランチを作成して何かを編集すると、同じことが起こります。これは、マージの衝突を修正する必要があるときに発生し始めました。 1つのブランチをmasterブランチとマージしたい場合、手動で修正する必要があり、そのブランチがmasterブランチを同じファイルに上書きするようにファイルを表示する必要がありました。そこで、これらのファイルを追加し、マージさせました。しかし、コミットするものがないので、何を変更しても表示されます。

ここで何ができるでしょうか?

48
Andrius

間違っていたものを見つけました。方法はわかりませんが、.gitディレクトリパスが何らかの形で作業中のパス以外に変更されました。そのため、gitが他の場所でチェックインしたため、変更したものはチェックされませんでした。再初期化すると、まったく別のディレクトリが再初期化されることがわかりました。 cd ..を現在のディレクトリからcdに戻し、再び再初期化すると、再び.gitディレクトリに戻り、変更を確認し始めました。

22
Andrius

パブリックオープンソースプロジェクトで作業している人にとって、この動作に直面した場合、.gitignoreを使用して、編集中のファイルがgitリポジトリから除外される可能性が最も高くなります。私は同じ動作に直面しましたが、数時間後に、変更を行っていたファイルが.gitignoreで除外されていることがわかりました。これは設定ファイルであり、すべてが独自のローカルバージョンを持つためです。

7
palerdot

これは、誤って同じディレクトリでgitを再初期化したために発生したに違いありません。次のコマンドを使用して。gitフォルダーを削除します。アップロードするリポジトリに移動してターミナルを開き、次のコマンドを使用します。

  1. 。gitリポジトリSudo rm -r .gitを削除します
  2. git initを使用してgitリポジトリの初期化を繰り返します
  3. 次にgit commit -m "first commit"
  4. git remote add Origin https://github.com/user_name/repo
  5. git Push -u Origin masterその後、ユーザー名とパスワードを入力してください。
7
Mahi

場所がgitプロジェクトの正しい場所かどうかを確認します。

3
Gank

ブランチマスターで問題が既にコミットされている何もコミットしない(作業ディレクトリのクリーン)この問題に直面した場合は、次のコマンドのみを使用してください

git Push -u Origin master

または

git reset
git add .
git commit -m "your commit message"
git Push -u Origin master
3
Anuj

同じ問題がありました。私が取り組んでいたブランチは追跡されていませんでした。修正は次のとおりです。

git Push orgin

これにより一時的に修正されました。適切に変更するには:

git config Push.default tracking
2
Jon Kennedy

この問題が発生した場合、私が見つけた最も簡単な解決策は、リポジトリを「git clone」し、古いディレクトリを削除することです。これにより、デフォルトでパスが正しく設定されます。

2
kaid

私の場合、以前に新しいディレクトリを作成しようとしたgitディレクトリを初期化していました。古いファイルをすべて削除し、ゼロから始めました。

2
Leviathan

SourceTreeの使用中にこれが発生し、修正されました

  1. まず、現在のコミットされていない変更を隠します。
  2. Sourcetreeを使用して同じ変更を適用/展開します。

魅力のように働いた。

1
rustylepord

ここに別の工夫があります。私の.gitignoreファイルは変更/破損されているようで、無視していたファイル

例えば.

/Project/Folder/StyleCop.cache

これに変更されました(2行に注意してください)

/Project/Folder
StyleCop.cache

そのため、gitは、プロジェクト以下に追加したファイルを無視していました。

非常に奇妙で、.gitignoreファイルがどのように変更されたかわかりませんが、見つけるのに時間がかかりました。修正したら、追加した数百のcssファイルとjsファイルが追加されました。

1
richardb

再度追加する前に、まずOriginを削除してみてください

git remote rm Origin
git remote add Origin https://github.com/abc/xyz.git
0
khalidh

angular CLI 6.1.2を使用しているときに、gitで同じ問題に直面しました。 Angular CLIを使用して新しいangularプロジェクトを作成すると、Angular CLI 6.1.2は自動的に.gitフォルダーを初期化します。 git statusを試してみたところ、作業ディレクトリ全体が検出されていませんでした。

angular作業ディレクトリから非表示の.gitフォルダーを削除した後、git initでgitリポジトリを再度初期化しました。そして今、すべてのファイルをgitステータスで見ることができます。

0
Ankit

間違ったフォルダにいたため、自分でこの問題が発生しました。私は1レベルネストされていたので、gitファイルは見つかりませんでした。

cd ..を正しいディレクトリに実行すると、期待どおりにコミットできました。

0
pinkeangstio

ワークスペースフォルダーに移動します

  1. .gitフォルダーを見つける
  2. フォルダとその内容を削除します
  3. git initコマンドを使用して初期化します。

これで、すべてのファイルをコミットできる内容が表示されます。

0
Gerald Amalraj

ファイルをコミット/追加しようとしないでください。次の2つのコマンドを実行するだけです(:

 git remote add Origin http://xyzremotedir/xyzgitproject.git 
 git Push Origin master 
0
Walk