24

以前にも同様の質問をしましたが、回答が不十分だったので、ここでもう一度質問し、詳しい情報を提供しようと思いました。異なる古いバージョンの git リポジトリを取得する必要がありますが、それで問題が発生しています。私が試したことは

git checkout master~X 

git archive --format zip --output /full/path/to/zipfile.zip master 

git checkout master 


git checkout master~Y 

git archive --format zip --output /full/path/toDifferent/zipfile.zip master 

git checkout master 

両方を解凍すると、まったく同じものになります。原因や修正方法がわかりません。

4

2 に答える 2

47

問題

どちらの例でも、masterのヒントをエクスポートしています。フラグと引数を取り出すと、次のようになります。

git archive master

つまり、 .git/refs/heads/masterに保存されているものをツリー風に指定することで、明示的に自分自身に対してこれを行っています。

ソリューション

別のコミットをエクスポートする場合は、 gitrevisions(7)に従ってツリーのようなものを提供する必要があります。たとえば、コミット29435bcをエクスポートするには、次のように指定できます。

git archive --format zip --output /full/path/to/zipfile.zip 29435bc
于 2012-06-13T16:23:59.527 に答える