1. ホーム
  2. git

[解決済み] 特定のリビジョン/チェンジセットでgitリポジトリをクローンする方法は?

2022-03-04 04:21:09

質問

Mercurialで通常行うような、特定のリビジョンでgitリポジトリをクローンするにはどうすればよいですか。

hg clone -r 3 /path/to/repository

解決方法は?

アップデイト2 以降 Git 2.5.0 を使用すると、サーバー側で以下のような機能を有効にすることができます。 uploadpack.allowReachableSHA1InWant ここでは GitHubの機能リクエスト この機能を有効にする GitHub のコミット . Git サーバーの中には、このオプションをデフォルトで有効にするものがあることに注意しましょう。 バージョン5.5以上 . こちらをご覧ください Stackexchangeでの回答 は、設定オプションを有効にする方法の一例です。

アップデイト1 Gitのバージョンについて 1.7 < v < 2.5 で説明されているように、git clone と git reset を使用します。 Vaibhav Bajpaiの回答

もし、リポジトリ全体を取得したくないのであれば、おそらく clone . fetch を使って、取り出したいブランチを選択することができます。私は hg の専門家ではありませんので -r が、gitではこのようなことができます。

# make a new blank repository in the current directory
git init

# add a remote
git remote add origin url://to/source/repository

# fetch a commit (or branch or tag) of interest
# Note: the full history up to this commit will be retrieved unless 
#       you limit it with '--depth=...' or '--shallow-since=...'
git fetch origin <sha1-of-commit-of-interest>

# reset this repository's master branch to the commit of interest
git reset --hard FETCH_HEAD