問題タブ [git-status]
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 - 変更されていない (追跡されている) ファイルをすべて一覧表示する方法は?
古い「git-image」を git リポジトリに解凍しましたが、ほとんどのファイルが変更されています。手付かずのまま残っているファイルを知りたいです。これらのファイルを一覧表示するには?
git - プラットフォーム固有の定義を持つ gitignore?
私は Fedora 22 で作業しています。実行するgit status
と、すべての*.o
ファイルが一覧表示されます。過去の行動を見た記憶がありません。
.gitginore
経由で配信されたプロジェクトのファイルを見ましたgit clone
が、 のルールがありません*.o
。を追加したい*.o
のですが、Windows 以外のプラットフォームのみに追加したいと考えています。Windows は を使用する*.obj
ため、必要ありません。さらに、*.o
Windows (IIRC) 上の一部のプログラムで使用されます。
*.o
Windows 以外のプラットフォームを指定することはできますか? もしそうなら、どのように?
git - 「ls -1」のような簡潔または短い形式の「git status」?
変更された一連のファイルをscp
テスト用に別のボックスに移動する必要があります。最小限の労力でアクションをスクリプト化できるように、次git status
のようなリストを作成する方法を理解するのに苦労しています。ls -1
を使用して必要なことを実行する既存のスクリプトがありls -1
ます。私は才能のあるスクリプターではないので、スクリプトを変更したくありません。代わりに、ツールの出力を変更したいと考えています。
明らかに、git status -1
うまくいきませんでした。「git status」を取得して常に短い形式を使用する方法の形式は、私のスクリプトと互換性がありません。そしてgit status --column
、以下と同じ結果が得られました。
git status
行に変更されたファイルのみを表示して、変更されたファイルを 1 行に 1 つずつリストするにはどうすればよいですか?
git - 新しいファイルを作成したディレクトリが移動されたブランチのgitマージ
ディレクトリが移動されたブランチにマージしたいのですが、ブランチのこのディレクトリにファイルを追加しました。ただし、これを実行しようとすると、ブランチの新しいファイルが新しいディレクトリに移動されませんでした。
これが関連しているかどうかはわかりませんが、このリポジトリの追加の問題は、以前は「新しい」ディレクトリも存在し、他のブランチが同時に新しいディレクトリの古いバージョンを削除し、古いディレクトリを一番上に移動したことです。それの。古いバージョンの新しいディレクトリが存在するのは、バージョン管理の目的でリポジトリ内のディレクトリが誤用されたためでした。これは実際には git で処理する必要がありましたが、当時は便利なことでした。
では、「インタラクティブ マージ」を実行している間 (つまり、マージの競合を解決したり、 を使用したりgit merge --no-commit
)、新しいファイルをすべて見つけて、それらを新しいディレクトリに移動するにはどうすればよいでしょうか?
問題は、この「マージ状態」にある間:
- マージ中に削除されるファイルは、実際にはまだ削除されていません。それらを新しいディレクトリに移動したくありません。これらのファイルのバージョンが古い可能性があるのではないかと心配しているからです。
- 古いディレクトリには、無視されたファイルもいくつかあります。私もそれらを移動したくありません。
git status
新しいファイルは追加されたものとして表示されません。それらはそうではないためです-それらはすでに現在のブランチにコミットされています。- 問題のファイルは、新しいディレクトリと古いディレクトリの両方の作業ツリーに実際に存在しますが、新しいディレクトリの git に登録されていないようです (git のバグの可能性がありますか? ここで何が起こっているのか混乱しています)。
git - フルパスを入力せずに「git diff some/long/file/name」を実行するにはどうすればよいですか?
私のワークフローでは、次のコマンドのペアをよく実行します。
名前をコピーせずに長いファイル名をすばやく入力/ use_shortcat する方法はありますか (このアクションにはマウスを使用する必要があり、入力ほど速くはありません)。たぶん、ステータスリストから2番目に変更されたファイルはgit diff $2
どこですか...?$2
git - column.status の構文に関する情報はどこにありますか?
コマンドに関するGitドキュメントから:git status
--column[=< オプション>]
--no-column
追跡されていないファイルを列に表示します。column.status
オプションの構文については、構成変数を参照してください。--column
およびオプションなしは、それぞれalwaysおよびnever--no-column
と 同等です。
git config column.status
は何も返さないため、オプションの構文がわかりません。この構文に関する情報はどこにありますか? git help status
コマンドは同じ情報を表示します。
git - git index にファイルがありません
私は、多くのブランチが含まれる git リポジトリに取り組んでいます。今、別の場所から新しい機能を追加したかったのです。新しいファイルは私cp -r /source /target
のレポにありますが、gitはそれらを無視します。
そのファイルをコピーした後に行うgit status
と、git は「作業ディレクトリをクリーンに」と言います...
なぜこれが起こるのですか? では無視されません.gitignore
。他のファイルでもこれを試しましたが、これらのファイルは git ステータスにすぐに表示されます。私は何を間違えましたか、どうすればこれを修正できますか?
他の回答を読みましたが、役立つ回答が見つかりません。