問題タブ [git-stage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - ファイルをステージングしてから変更し、コミットしてプッシュするとどうなりますか?
たとえば、ファイルindex.htmlがあり、いくつかの行を変更して実行するとしgit add index.html
ます。次に、 index.htmlを再度変更しますが、段階的な変更は行いません。そして、しgit commit
なさいgit push
。最後の変更はcommit
/に適用されpush
ますか?
git - git add でファイルを追加できない
ファイルをgit addしようとしました。しかし、gitステータスを確認すると、ファイルはまだ「コミットのためにステージングされていない変更」としてマークされています。私は多くの同様の質問を読み、すべてを試しました:
- 正しいリポジトリにいることを確認してください
- どのフォルダーにも他の .git がないことを確認してください(サブモジュールなし)
- .gitignore に対応するエントリがないことを確認してください (ローカルでもグローバル/システムでもない)
- 大文字/小文字の間違いがないことを確認してください
- git add (-A、-u、.、*) のすべてのバリエーションを試してください。
まだ何も機能していないようです
それは次のようになります。
他に何を試すか、または私が見逃した可能性のあるアイデアはありますか?
事前に助けてくれてありがとう!
編集:
_build/
を実行すると、このフォルダー全体が作成されますjb-build systemtechnik-fuer-energieeffizienz
。これには、(主に、これらのドキュメントのような他のものに加えて.doctree
) フォルダー内のすべてのこれらの jupyter ノートブックによって作成された jupyter book の html 出力が含まれていnb/
ます (こちらjupyter bookを参照)。したがって、それはサブモジュールではありません(私の理解では、サブモジュールには独自の.git
フォルダーがありますが、内部_build/
にはそのようなフォルダーはありません)
の出力
git rev-parse --show-toplevel
は次のとおりです。C:/Users/andre/Documents/GitLab/OER4EE_SYE/systemtechnik-fuer-energieeffizienz
git version
はgit version 2.24.0.windows.2
の出力
git diff -- _build/.doctree/SYE.doctree
は次のとおりです。ただの空行
の出力
git check-attr -a _build/.doctree/SYE.doctree
は次のとおりです。ちょうど別の空白行
git - Git pre-commit フックで、コミットされようとしていないすべての変更を一時的に削除します
pre-commit
コミットの実行を許可する前に、フックでプログラムをコンパイルし、すべての自動テストを実行したいと思います。問題は、通常、コミット中に作業コピーがクリーンでないことです。それらは、コミットしたくないステージングされたファイルでも追跡されていないファイルでもありません。時には、現在ステージングされているものとは関係のないいくつかのファイルのみをコミットするように明示的に指定することさえあります。
もちろん、コミットされる変更のみをコンパイルしてテストし、他の変更は無視したいと思います。それには3つのステップがあります:
- コミットされないすべての変更を削除します。
- テストを実行します。
- すべての変更を、最初のステップの前の状態に正確に復元します。
最初のステップは、 を実行することで達成できますgit stash push --include-untracked --keep-index
。stash エントリは、3 番目のステップにも役立ちます。ただし、ステージングされていないファイルの明示的なリストをコミットするときに何をすべきかわかりません。
(2 番目のステップは実際には問題の一部ではありません。)
3 番目のステップは、理論的にはコマンドを使用して実行できますgit stash pop --index
が、このコマンドは、一部のファイルがステージングされ、再度ステージングせずにさらに変更された場合に競合が発生しやすいようです。
このスクリプトは、さまざまなコーナー ケースをカバーするいくつかのファイルと変更を含むリポジトリを作成します。