質問

/与えられたからだけ変更されたファイルは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は、指定されたアーカイブを作成するために実行されます。これは非常に長いコマンドラインを生成することもできますので、あなたが変更されたファイルの非常に多くを持っている場合は、別の技術が必要になる場合があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top