[解決済み】全てのサブディレクトリに対してgit pullを実行する【重複】。
2022-04-16 03:57:52
質問
複数の git リポジトリを共有の親ディレクトリから更新する際に
cd
'各レポのルートディレクトリにイング?私は以下のような、すべて別々の git リポジトリを持っています (
ではなく
サブモジュール)を作成しました。
/plugins/cms
/plugins/admin
/plugins/chart
一度に更新したい、せめて今のワークフローを簡略化したい。
cd ~/plugins/admin
git pull origin master
cd ../chart
git pull
などです。
解決方法は?
親ディレクトリから以下を実行します。
plugins
この場合
find . -type d -depth 1 -exec git --git-dir={}/.git --work-tree=$PWD/{} pull origin master \;
明確にするため。
-
find .
カレントディレクトリを検索します。 -
-type d
は、ファイルではなくディレクトリを検索します。 -
-depth 1
最大でサブディレクトリ1つ分の深さのため -
-exec {} \;
すべての検索に対してカスタムコマンドを実行します。 -
git --git-dir={}/.git --work-tree=$PWD/{} pull
git は個々のディレクトリをプルする
findを使いこなすには
echo
の後に
-exec
をプレビューする、など。
find . -type d -depth 1 -exec echo git --git-dir={}/.git --work-tree=$PWD/{} status \;
注:もし
-depth 1
オプションが利用できない場合は
-mindepth 1 -maxdepth 1
.
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] 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がローカルバージョンをリモートバージョンに置き換える
-
[解決済み】git revert <hash> not allowed due to a merge but no -m option was given.
-
gitコミット発生 ! [リモート拒否] master -> master (pre-receive hook declined) 解決策
-
[解決済み】マージが終了していません(MERGE_HEADは存在します)。
-
[解決済み] 短いGitバージョンのハッシュを取得する
-
[解決済み] GitBash | origin master - rejected (fetch first) | GitHub リポジトリにファイルがない。
-
[解決済み] すべてのgitサブモジュールの最新版を簡単にプルする方法
-
[解決済み] ファイルのフルパスを取得する方法は?
-
[解決済み] git ディレクトリにいないときに git pull する
-
[解決済み】Gitサブモジュールのアップデート