問題タブ [git-ls-files]
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:「追跡されていない」ファイルのみをリストします(カスタムコマンドも)
git ls-files
追跡されていないファイルのみを表示するようなコマンドを使用する方法はありますか?
私が尋ねている理由は、次のコマンドを使用してすべての削除済みファイルを処理するためです。
追跡されていないファイルに似たものが欲しい:
-o
へのオプションを見つけることができましたが、git ls-files
無視されたファイルも表示されるため、これは私が望むものではありません。また、次の長くて醜いコマンドを思いつくことができました。
ここで使用できるより良いコマンドが必要なようです。ない場合、カスタム git コマンドを作成するにはどうすればよいですか?
git - ベアリポジトリの git ls-files
ベア git リポジトリにアクセスし、リポジトリ内のすべてのファイルを一覧表示したいと考えています。
通常の git リポジトリでは、git ls-files
.
出力例:
裸の git リポジトリでは、これは黙って失敗します。ファイルを返さないだけです(ただし、正常に終了します):
ここで、表示する意味のあるブランチまたはマスターを提供する必要があることに気付きました。しかし、自分のリポジトリにあることがわかっているファイルのリストを実際に取得するにはどうすればよいでしょうか?
git - 「git ls-tree」と同等の堅牢
裸のリポジトリで入力できます$ git ls-tree -r master
。(これは、コマンドを使用して裸のリポジトリで取得できるのと同じようなものですgit ls-files
)
git リポジトリ内のファイルとその sha ref の完全なリストについては、
Rugged では、特定のブランチまたはマスターにあるファイルのリストを取得するにはどうすればよいですか?
git - `git ls-files -s` の出力のさまざまなフィールドの意味は何ですか?
Git では、コマンドによって返される結果の典型的な行はgit ls-files -s
次のようになります。
これらのフィールドは何を意味しますか?
git - Git ls ファイルの動作
ワイルドカードgit ls-files
の使用が実際にどのように機能するかは明らかではありません。
私はgit ls-files *.*
問題なく動作するコマンドから始めました。下位のすべてのサブディレクトリでバージョン管理下にあるすべてのファイルが表示されますが、ここで一連のファイルを選択したいと思います。例 :"Device_*.xml"
だから私は実行しgit ls-files Device_*.xml
ますが、これは結果をもたらしません?!
コマンドで大文字と小文字が区別されることは承知しています。なにが問題ですか?以下は、出力で実行するコマンドのリストです。使用する Git バージョン: 2.6.1.windows.1
HEAD
現在は7de8f5b
[IP-826-generic-configuration-management-ticket] にあります リモート追跡ブランチ「オリジン」を IP-826-generic-configuration-management-ticket にマージします
ブランチ上 IP-826-generic-configuration-management-ticket
ブランチは「origin/IP-826-generic-configuration-management-ticket」で最新です。
コミットするために何も追加されていませんが、追跡されていないファイルが存在します (追跡するには「git add」を使用します)
git - git ls-files、ファイルパスのスペースをエスケープする方法は?
.gitignore ファイルを導入する前に、大量のファイル全体が git リポジトリにチェックインされていました。現在、次の方法でクリーンアップしようとしています。
問題は、多くのファイル パスにスペースが含まれていることです。
例えば:
大量のファイルに大量のスペースがあり、それを取り除く必要があります。
私は次のいずれかのエレガントな方法を探しています:
A: たとえば、「\」でスペースをエスケープします。
Assets/Aoi\ Character Pack/Viewer/Resources/Aoi/Viewer\ BackGrounds/bg18.png.meta
-また-
B:
git ls-files
引用符の間にきちんと収まっているすべてのファイルのリストを作成しました。'Assets/Aoi Character Pack/Viewer/Resources/Aoi/Viewer BackGrounds/bg18.png.meta'
-編集-
これまで私は試してきました
git ls-files -i --exclude-from=.gitignore | sed 's/\ /\\\ /g'
それは、スペースがエスケープされた、期待どおりのファイルパスを喜んで出力しますが.....実行しようとすると
エラー: 不明なスイッチ `\' が表示されます
パイプで何かおかしなことが起こっていると思います。