4

ローカルマシンに作業ツリーがあり、リモートリポジトリもあります。作業バージョンの現在の状態を乱すことなく、既知のタグでプロジェクトの以前のバージョンをすばやくビルドしたいとします。私の傾向は、別のツリーをチェックアウトすることです。これは、この質問のようになります。

Gitで特定のタグをダウンロードする

リモートリポジトリからのクローンとそれに続くチェックアウト。しかし、クローンは多くの作業を行い、すべてのリビジョン状態をプルダウンします。「このコミット/タグで世界の現在の状態を取得し、このディレクトリにスプレーする」という簡単な言い方はありますか?(それ以上のリビジョン管理は必要ありません。Gitに関する限り、「読み取り専用」です。)

多分そうではありません-チェックするだけです。

ありがとう。

4

3 に答える 3

5

すべてローカルの場合は、次のように実行できます。

mkdir /path/to/test-tree
cd /path/to/repo
git read-tree <tag>
git checkout-index -a --prefix=/path/to/test-tree/  # don't forget the last slash

# read-tree copies content into the index
# to restore it:
git read-tree HEAD

これは、他のツリーにgit情報がまったくないことを気にしないことを前提としています。必要に応じて、git-new-workdirスクリプトを使用できます。このスクリプトは、ディレクトリにシンボリックリンクを元のリポジトリに戻すことを除いて、基本的にクローンを作成します。これにより.git、余分なディスク領域が必要になりません。これは優れたアプローチです。余分なディスク容量はなく、開発用に1つ、テスト用に1つのリポジトリを使用できます。

于 2010-10-21T23:00:39.993 に答える
1

試す

git checkout -b new_branch [previous_tag]
于 2010-10-21T22:46:41.533 に答える
0

git-exportを探しているようです:「gitexport」(「svnexport」など)を実行しますか?

于 2010-10-21T22:45:56.153 に答える