エクスポート/アーカイブは唯一のGit内のファイルを変更
質問
/与えられたからだけ変更されたファイルはgitのにコミットまたはコミット一連のアーカイブをエクスポートするための簡単な方法はありますか?私はこれを行うための明確な指示を見つけることができないよう(と私は、Linux / Gitリポジトリへの新たなんだ)。
私はmsysgitを使用していますし、ほとんどの部分は、私は全体のリポジトリを展開して大丈夫だよ多くの場合、それは一度に小さな修正いくつかのファイルを展開するはるかに効率的です。
アクセスの私のレベルは、プロジェクトとクライアントの間で変化するとプッシュ/リモートサーバー上のgitをインストール/引っ張っは本当にオプションではありません。
(ラフな推測)にストレートフォワードな方法はあります:
pipe 'diff --names-only' to 'git-archive'?
解決
私はgitのアーカイブを関与させる必要性はないと思います。 --name-only
を使用して、ファイルをアップタールができます:
tar czf new-files.tar.gz `git diff --name-only [diff options]`
あなたは、Linuxに慣れていないので、これはいくつかの説明が必要な場合があります。
コマンドラインでバッククォートは、シェルが最初tar
のコマンドラインにそのコマンドの出力を置き換え、その後、バッククォート内のコマンドを実行させます。だから、git diff
は、ファイル名、各行に1つのリストを生成する、最初に実行されます。改行はスペースに崩壊しているとファイルのリスト全体をtar
コマンドライン上に置かれています。その後tar
は、指定されたアーカイブを作成するために実行されます。これは非常に長いコマンドラインを生成することもできますので、あなたが変更されたファイルの非常に多くを持っている場合は、別の技術が必要になる場合があります。
所属していません StackOverflow