[解決済み] Gitで各ブランチとその最終リビジョンの日付を一覧表示する
2022-04-25 15:36:54
質問
リモートリポジトリから古いブランチやメンテナンスされていないブランチを削除する必要があります。最終更新日順にリモートブランチをリストアップする方法を探しているのですが、見つかりません。
この方法で簡単にリモートブランチをリストアップする方法はありますか?
どのように解決するのですか?
コマンドラインフ には、2つの興味深い命題があります。
for k in `git branch | perl -pe s/^..//`; do echo -e `git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k -- | head -n 1`\\t$k; done | sort -r
または
for k in `git branch | sed s/^..//`; do echo -e `git log -1 --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k --`\\t"$k";done | sort
これはローカルブランチのためのもので、Unixの構文で書かれています。使用方法
git branch -r
同様に、リモートブランチも表示できます。
for k in `git branch -r | perl -pe 's/^..(.*?)( ->.*)?$/\1/'`; do echo -e `git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k -- | head -n 1`\\t$k; done | sort -r
マイケル・フォレスト
記載事項
コメントで
のエスケープが必要であること。
sed
という表現があります。
for k in git branch | perl -pe s\/\^\.\.\/\/; do echo -e git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k -- | head -n 1\\t$k; done | sort -r
zshrcに追加する場合は、以下のエスケープが必要です。
alias gbage='for k in `git branch -r | perl -pe '\''s/^..(.*?)( ->.*)?$/\1/'\''`; do echo -e `git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k -- | head -n 1`\\t$k; done | sort -r'
複数行で。
alias gbage='for k in `git branch -r | \
perl -pe '\''s/^..(.*?)( ->.*)?$/\1/'\''`; \
do echo -e `git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k -- | \
head -n 1`\\t$k; done | sort -r'
注
n8tr
's
答え
をベースにした
git for-each-ref refs/heads
の方がきれいです。
そして、より速く
.
"もご覧ください。
の名前のみのオプションです。
git branch --list
?
"
より一般的に トリプルイー を思い起こさせる コメントで :
- モダンを好む
$(command substitution)
の構文は、時代遅れのバックチック構文よりも優れています。
(2014年にその点を"で図解しました。
とは何が違うのでしょうか?
$(command)
と
`command`
シェルプログラミングで?
")。
- のある行は読まないでください。
for
.- に切り替えると思われます。
git for-each-ref refs/remote
リモートブランチの名前を機械可読形式で取得します。
関連
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] git rebase の取り消し
-
[解決済み] Git のリモートブランチを作成する方法を教えてください。
-
[解決済み] Git リポジトリで削除されたファイルを検索して復元する方法
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】既存のGitブランチをリモートブランチに追従させる?
-
[解決済み】ローカルの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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] あなたのブランチは 'origin/master' より 3 コミット進んでいます。
-
[解決済み] リモートの <ブランチ名> とマージするように設定されていますが、そのような参照は取得されませんでしたか?
-
[解決済み] git: fatal: リモートリポジトリから読み取れませんでした。
-
[解決済み] GIT_DISCOVERY_ACROSS_FILESYSTEM が設定されていない。
-
[解決済み] git update-index --assume-unchanged <file> を元に戻す。
-
[解決済み] Git で現在のブランチ名を取得するには?
-
[解決済み] Git のブランチの一覧を最新のコミット順に表示するにはどうしたらよいですか?
-
[解決済み】シェルプログラミングにおける$(command)と`command`の違いは?
-
[解決済み】シェルスクリプトでバックチックの代わりに$()を使用する利点は何ですか?
-
[解決済み】すべてのリモートgitブランチをローカルブランチとして追跡する