TortoiseGitとTortoiseSVNでは、ディレクトリ構造を含め、2つのリビジョン間で変更されたすべてのファイルを外部フォルダーにエクスポートできます。
Atlassian SourceTree(Windows用)でこれを行う方法はありますか?
これを試して:
git archive --output=test_Zip.zip HEAD $(git diff --diff-filter=ACMRTUXB --name-only hash1 hash2)
例のハッシュ1とハッシュ2を目的のコミットハッシュに置き換え、変更を圧縮するZipファイルに名前を付けるだけです。
わたしにはできる
カスタムアクションで7Zipを使用するソリューションは次のとおりです(Tools > Options > Custom Actions > Add
):
Menu caption: > dist.Zip
[ ] Open in a separate window
[ ] Show Full Output
[X] Run command silently
Script to run: X:\Your\path\to\7-Zip\7z.exe
Parameters: a $REPO\dist.Zip $FILE
(Restart SourceTree after creation for the changes to take effect!)
このアクションは、ログ/履歴からのコミットでステージングされていないファイルと変更されたファイルのコンテキストメニューから機能し(複数のファイル/複数のコミットが選択されている場合でも)、それらのファイルをリポジトリルートの「dist.Zip」に追加します。ファイルを追加する前にファイルが削除されないことに注意してください。最初からやり直す場合は、最初にZipファイルを削除することを忘れないでください。
これにより、ビルドシステムが含まれていないプロジェクトで、変更されたファイルだけでライブシステムを更新することが非常に簡単になりました。それなしでどうしてこんなに長く生きて働くことができたのだろうか。 :-)
カスタムアクションとbashスクリプトを使用して、これを実行した方法は次のとおりです。このソリューションはUnix用ですが、これをWindowsの.batスクリプトに複製できるはずです。
これを次のように保存します:archive-commit.sh
#!/bin/sh
HASH1=${1}
HOWMANYCOMMITS=${2:-1}
HASH2=$(git rev-parse $HASH1~$HOWMANYCOMMITS)
DATE="$(date "+%m_%d_%Y_%H%M")"
FILENAME="deploy-$DATE.Zip" # Change this to wherever you want to save the file
git archive -o $FILENAME $HASH2 $(git diff --diff-filter=ACMRTUXB --name-only $HASH1 $HASH2)
たとえば、呼び出す場合:
./archive-commit.sh 17f6ca1993018761f7b936d46d2d600d4ee5ef85
前のコミットと比較して、そのコミットのZipを作成します。
スクリプトは最後の数値引数も取ります。たとえば、次のようにします。
./archive-commit.sh 17f6ca1993018761f7b936d46d2d600d4ee5ef85 3
このコミットの.Zip +前の2つのコミット(合計3つ)が作成されます。
これをSourceTreeに統合するために、次のようなカスタムアクションを作成できます(スクリプトターゲットをスクリプトを保存した場所に変更します)。
複数のコミットを選択した場合、現在SourceTreeは2つのハッシュを取得できないため、複数のアクションを作成する必要があります。
これで、SourceTreeで直接コミットを右クリックしたときにzipをエクスポートする便利な方法が得られます。
ターミナルを開きます(ソースツリーアイコンバーのアイコン)
次に、次のように入力します。
git diff <sha-1>..HEAD > my_all_commits.diff
指定された範囲内のすべての変更を含むdiffファイルが生成されます。
git format-patch SHA-1..SHA-1
。
このコミットは、コミット内のすべての変更を含む、コミットごとのパッチのセットを作成します。次に、それらをすべて使用するか、2番目のリポジトリに適用するものだけを選択するかを選択できます。
幸運を。