*

git tagで過去と現在のソースの差分をzipにまとめる

公開日: : 最終更新日:2014/06/09 Git

medium_2368296322

本番環境にソースコードを適用するときに、前回適用したバージョンから現バージョンまでの適用をするのに苦労していましたが、ファイル数が多くなると効率が悪いのでなんとかならないかと思いはじめるようになり、差分ファイルを作成するための手順を書きます。

まず差分として比較したいコミットにタグを付ける

Eclipseにegitプラグインを入れた上でプロジェクトで右クリック→拡張→タグ→拡張からコミットを選択して任意の名称でタグを付ける。Eclipseにはegitのプラグインが入っている前提です。

タグコミットする

タグは普通にアップストリームへプッシュ何故かできないので、Eclipseにてプロジェクトで右クリック→リモート→プッシュ→次へ→「Add All Tag Spec」を選択し完了。

タグ付けしたコミットと現状の差分を比較して、差分を出力

まず比較したいgitリポジトリ(xxx.git)へcdで移動

その後以下の様なコマンドを実行。
以下の例の場合、zipフォーマットで、rootという名称のルートフォルダ以降に、現状(HEAD)とタグ:initial_state_20140306の差分archive.zipという名称で出力する。

git archive --format=zip --prefix=root/ HEAD `git diff --name-only HEAD initial_state_20140306` -o archive.zip

たまにパスの指定がなされていないというエラーが出力される場合がある。その場合は

--diff-filter=M
M:変更分
A:新規追加
D:削除
R:リネーム

なんかでフィルタリングすると指定のフォルダだけ出力する事が可能
(パスの指定されていないファイルがフィルタリングされたものの中になければok。あると同様のエラーは起きる)

HEADではなくtagとtagの間の差分を出力したい時は

git archive --format=zip --prefix=root/ tag1 `git diff --name-only tag0 tag1` -o /home/kanri/tag1.zip

tag0・・新しい方のタグ
tag1・・古い方のタグ

で実行可能。

お問い合わせはこちら!

関連記事

gitインストールし、レポジトリ作成後にeclipseでSSH接続する

photo credit: atduskgreg via photopin cc 今回はg

記事を読む

SourceTreeで差分ファイルを抽出

GitのクライアントでSourceTreeを利用する時、コミットの差分ファアイルをZIPファイルとし

記事を読む

Gitリモートリポジトリのサーバー移行が結構簡単だったので手順まとめ

昔からファイルの履歴管理はファイルをコピーして、ファイル名に日付をつけて頑張ってましたOsa

記事を読む

Git フォルダ、ファイル単位で変更の取消

Gitでバージョン管理をしながらEclipseで開発を行う時、編集した部分を取り消したい時が有ります

記事を読む

お問い合わせはこちら!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

お問い合わせはこちら!

Laravel 5.1の自動ログインのお試し!

セッションの保持時間を1分にする 単位:分 デフォルト

SourceTreeで差分ファイルを抽出

GitのクライアントでSourceTreeを利用する時、コミットの差分

第104回 PHP勉強会に参加しました!

昨日「第104回 PHP勉強会@東京」に参加し、メイン発表をしました。

Windows10にLaravel開発環境を構築

本記事は筆者のノートパソコンにLaravelプロジェクトの開発環境を構

複数のXAMPPインストール

Windows環境でPHP開発をする際にXAMPPをインストールするこ

→もっと見る

  • AWS構築 - クラウドアドバイザー
PAGE TOP ↑