[解決済み] 単一のサブフォルダのgit-statusを取得するには?
2023-04-03 14:35:44
質問
リポジトリのサブフォルダでgit statusを実行すると、親フォルダの状態も表示されます。
git-status を特定のフォルダだけに限定する方法はありますか?
どのように解決するのですか?
git status .
は、カレントディレクトリとサブディレクトリの状態を表示します。
例えば、このツリー内の与えられたファイル(番号)は
a/1
a/2
b/3
b/4
b/c/5
b/c/6
サブディレクトリ "b"から。
git status
は、ツリー全体の新しいファイルを表示します。
% git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: ../a/1
# new file: ../a/2
# new file: 3
# new file: 4
# new file: c/5
# new file: c/6
#
しかし
git status .
は "b"以下のファイルを表示するだけです。
% git status .
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: 3
# new file: 4
# new file: c/5
# new file: c/6
#
このサブディレクトリだけ、以下ではない
git status .
は、"b" より下にあるすべてのファイルを再帰的に表示します。b" より下のファイルではなく、"b" にあるファイルだけを表示するには、ファイルだけのリスト (ディレクトリではない) を
git status
. これは、お使いのシェルによっては、少し面倒です。
Zsh
zshでは、"glob修飾子"で普通のファイルを選択することができます。
(.)
. 例えば
% git status *(.)
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: 3
new file: 4
バッシュ
Bashにはグロブ修飾子がありませんが、GNU
find
を使って普通のファイルを選択し、それを
git status
のようにします。
bash-3.2$ find . -type f -maxdepth 1 -exec git status {} +
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: 3
new file: 4
これは
-maxdepth
であり、これは
GNU検索
の拡張機能です。
POSIX検索
には
-maxdepth
を持たないが、これを行うことができる。
bash-3.2$ find . -path '*/*' -prune -type f -exec git status {} +
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: 3
new file: 4
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] git rebase の取り消し
-
[解決済み] Git リポジトリを特定のフォルダにクローンする方法は?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
git commit to GitHub エラー、プロンプト ! [リモート拒否] master -> master (pre-receive hook declined) エラー: 失敗しました。
-
Gitのエラーについて覚えておく-すべて最新にする
-
git pushで "Updates were rejected because your current branch is behind "というエラーが報告される。
-
giteaを使ったGitサービスの構築
-
Git: bash: cd: 引数が多すぎる
-
git push please tell me who you are or git fatal: empty ident name (for <>) not llowed.
-
[解決済み] Git ステータス - 特定のディレクトリの変更のみを表示する方法はありますか?
-
[解決済み] バージョン管理には、なぜタグとリリース/ベータブランチを使い分ける必要があるのでしょうか?
-
[解決済み] Gitブランチの名前をローカルとリモートで変更できますか?重複
-
[解決済み] CVS から Git への移行: $Id$ 相当?