[解決済み] Gitのフォルダ構造で変更・追加されたファイルのみをエクスポートする機能
2022-02-03 02:21:55
質問
特定のコミットで変更・追加されたファイルのリストを取得し、それらをエクスポートしてファイル構造を持つパッケージを生成したいのですが、可能でしょうか?
パッケージを取得し、サーバー上で展開することです。多くの理由から、私はレポを自動的にプルするフックを作成することができず、サーバーを更新し続けるための最も簡単な方法は、このパッケージを生成することです。
どのように解決するのですか?
git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT $commit_id
-
git diff-tree -r $commit_id
:指定されたコミットとその親(トップディレクトリだけでなく、すべてのサブディレクトリを含む)の差分を取ります。
-
--no-commit-id --name-only
:コミット SHA1 を出力しない。完全な差分ではなく、影響を受けるファイルの名前のみを出力します。
-
--diff-filter=ACMRT
:このコミットでは、追加、コピー、変更、リネーム、またはタイプが変更されたファイル (例: ファイル → シンボリックリンク) のみを表示します。これは、削除されたファイルを除外します。
コメントから更新しました。
質問の文脈と以下のコメントに基づいて、以下のコマンドで
ACMRT
ファイルを
.tar
ファイルをそのフォルダ構造で表示します。
git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT $commit_id | tar -czf file.tgz -T -
関連
-
[解決済み] リモートの <ブランチ名> とマージするように設定されていますが、そのような参照は取得されませんでしたか?
-
[解決済み] 警告: リモート HEAD は存在しない参照元を参照しているため、チェックアウトできません。
-
[解決済み] Git のステージされていない変更から "old mode 100755 new mode 100644" というファイルを削除するにはどうすればよいですか?
-
[解決済み] Gitで変更された複数のファイルのうち、1つのファイルだけを隠す?
-
[解決済み] Gitブランチをmasterにマージする最も良い(そして最も安全な)方法は何ですか?
-
[解決済み] Gitのプッシュを正しく強制する方法は?
-
[解決済み] git は修正された変更のみを追加し、追跡されていないファイルは無視する
-
[解決済み] ローカルのGitの変更を削除するさまざまな方法
-
[解決済み】Gitのワークフローとrebaseとmergeの質問
-
[解決済み】特定のファイルへの変更のみをgit-cherry-pickする方法は?
最新
-
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, fatal: リモートエンドが予期せずハングアップしました。
-
[解決済み】Git:コミットに何も追加されていないが、未追跡のファイルが存在する
-
[解決済み】なぜ「git commit」は私の変更を保存しないのですか?
-
[解決済み] git rebase fatal: 必要なリビジョンは1つです。
-
git revert 複数コミット
-
[解決済み】マージが終了していません(MERGE_HEADは存在します)。
-
[解決済み] 無効なVCSルートマッピング - 私のプロジェクトで3つのエラーが発生しました。
-
[解決済み] Git pull - マージする前に移動または削除してください。
-
[解決済み] git export」(「svn export」のようなもの)を行うか?