2016-12-31 10 views
1

ビルドしたいリポジトリがありますが、リポジトリをクローンするとソースが不安定なプログラムになります。彼らがタグ付けしたソースの最新バージョン(1.2)は安定していますが、gitを使ってそれをダウンロードする方法がわかりません。私が解答を検索するときに読んでいたことから、最初にリポジトリをクローンしてから、checkoutを使ってタグに切り替えることができます。特定のgitリポジトリタグをダウンロードするにはどうすればよいですか?

git clone https://github/project/project.git

cd project

git checkout tags/1.2

これは私が問題かそうでないかわからない切り離さヘッドモードになります。しかし、私が得意ではないのは、私がチェックアウトするとき、それは "作業ツリー"のタグに切り替わるということです。つまり、開発チームがスクリプトを組み込んでビルドすれば、1.2のソースコードだけがビルドされるということですか?私はそうし、まだ不安定に見えるプログラムを手に入れました。しかし、私はそれが何のバージョンであるかを知ることができません(それは、後のリリースでそれを修正しています)。

私は正しくこれを行いましたか?あるいは、チェックアウトを使って間違った木を吠えることです。つまり、リポジトリ全体をクローンする必要なしに、そのタグのソースをダウンロードできるようにしたいのですが、それが可能であれば、どうすればいいか分かりません。

答えて

0

私があなたに正しいことを言うことができる限り。

タグをダウンロードしないように設定していない限り、repoのダウンロードにはすべてのタグが含まれます。

タグをチェックアウトすると(git checkout 1.2で十分です)、実際にはデータヘッドモードになります。しかし、それは問題ではありません。 (HEADに戻るにはgit checkout masterを実行してください)。

タグをチェックアウトした後、作業ディレクトリはリリースにタグ付けしたときのプロジェクトの位置になります。

ここでは、生成またはキャッシュされたファイルをすべて削除し、最初からプロジェクトをビルドすることをお勧めします。これを行う方法は、コードとビルドシステムによって異なります。プロジェクトでmakeを使用している場合は、通常make cleanを実行する必要があります。

+0

ありがとうございました! – user7357954

1

理想的に私は、リポジトリ全体のクローンを作成することなく、そのタグ のためのソースをダウンロードできるようにしたいと思いますが、私はそれも可能だ場合、それを行うにはどのよう フィギュアアウトに見えることはできません。

あなたは次のように行うことができます。他のコミットの歴史せずに特定のタグを取得するには

git clone https://github.com/jquery/jquery.git --branch 3.1.1 --depth 1 

--branchパラメータは、this answerで説明したように、現代版のgitではブランチ名と同様にタグ名をとることができます。 --depth 1は、シャロークローンになり、これ以上の履歴はありません。浅いクローンは、例えばhereのように詳細に説明されている。私が使ったサンプルのレポ、jqueryは、あなたがその違いを見ることができるほど十分です。

これは、デタッチ状態になります。これは、デタッチ状態です。

関連する問題