私はこのメッセージを受け取り始めました。何を編集してコミットしようとしても、コミットするものは何もないという。 gitは私の作業ディレクトリを見ていないようで、他の場所を探しています。
git status
を実行すると、同じ結果が出力されます。
nothing to commit (working directory clean)
新しいブランチを作成して何かを編集すると、同じことが起こります。これは、マージの衝突を修正する必要があるときに発生し始めました。 1つのブランチをmasterブランチとマージしたい場合、手動で修正する必要があり、そのブランチがmasterブランチを同じファイルに上書きするようにファイルを表示する必要がありました。そこで、これらのファイルを追加し、マージさせました。しかし、コミットするものがないので、何を変更しても表示されます。
ここで何ができるでしょうか?
間違っていたものを見つけました。方法はわかりませんが、.git
ディレクトリパスが何らかの形で作業中のパス以外に変更されました。そのため、gitが他の場所でチェックインしたため、変更したものはチェックされませんでした。再初期化すると、まったく別のディレクトリが再初期化されることがわかりました。 cd ..
を現在のディレクトリからcd
に戻し、再び再初期化すると、再び.git
ディレクトリに戻り、変更を確認し始めました。
パブリックオープンソースプロジェクトで作業している人にとって、この動作に直面した場合、.gitignore
を使用して、編集中のファイルがgitリポジトリから除外される可能性が最も高くなります。私は同じ動作に直面しましたが、数時間後に、変更を行っていたファイルが.gitignore
で除外されていることがわかりました。これは設定ファイルであり、すべてが独自のローカルバージョンを持つためです。
これは、誤って同じディレクトリでgitを再初期化したために発生したに違いありません。次のコマンドを使用して。gitフォルダーを削除します。アップロードするリポジトリに移動してターミナルを開き、次のコマンドを使用します。
Sudo rm -r .git
を削除しますgit init
を使用してgitリポジトリの初期化を繰り返しますgit commit -m "first commit"
git remote add Origin https://github.com/user_name/repo
git Push -u Origin master
その後、ユーザー名とパスワードを入力してください。場所がgitプロジェクトの正しい場所かどうかを確認します。
ブランチマスターで問題が既にコミットされている何もコミットしない(作業ディレクトリのクリーン)この問題に直面した場合は、次のコマンドのみを使用してください
git Push -u Origin master
または
git reset
git add .
git commit -m "your commit message"
git Push -u Origin master
同じ問題がありました。私が取り組んでいたブランチは追跡されていませんでした。修正は次のとおりです。
git Push orgin
これにより一時的に修正されました。適切に変更するには:
git config Push.default tracking
この問題が発生した場合、私が見つけた最も簡単な解決策は、リポジトリを「git clone」し、古いディレクトリを削除することです。これにより、デフォルトでパスが正しく設定されます。
私の場合、以前に新しいディレクトリを作成しようとしたgitディレクトリを初期化していました。古いファイルをすべて削除し、ゼロから始めました。
SourceTreeの使用中にこれが発生し、修正されました
魅力のように働いた。
ここに別の工夫があります。私の.gitignoreファイルは変更/破損されているようで、無視していたファイル
例えば.
/Project/Folder/StyleCop.cache
これに変更されました(2行に注意してください)
/Project/Folder
StyleCop.cache
そのため、gitは、プロジェクト以下に追加したファイルを無視していました。
非常に奇妙で、.gitignoreファイルがどのように変更されたかわかりませんが、見つけるのに時間がかかりました。修正したら、追加した数百のcssファイルとjsファイルが追加されました。
再度追加する前に、まずOriginを削除してみてください
git remote rm Origin
git remote add Origin https://github.com/abc/xyz.git
angular CLI 6.1.2を使用しているときに、gitで同じ問題に直面しました。 Angular CLIを使用して新しいangularプロジェクトを作成すると、Angular CLI 6.1.2は自動的に.gitフォルダーを初期化します。 git statusを試してみたところ、作業ディレクトリ全体が検出されていませんでした。
angular作業ディレクトリから非表示の.gitフォルダーを削除した後、git initでgitリポジトリを再度初期化しました。そして今、すべてのファイルをgitステータスで見ることができます。
間違ったフォルダにいたため、自分でこの問題が発生しました。私は1レベルネストされていたので、gitファイルは見つかりませんでした。
cd ..
を正しいディレクトリに実行すると、期待どおりにコミットできました。
ワークスペースフォルダーに移動します
これで、すべてのファイルをコミットできる内容が表示されます。
ファイルをコミット/追加しようとしないでください。次の2つのコマンドを実行するだけです(:
git remote add Origin http://xyzremotedir/xyzgitproject.git git Push Origin master