2015-11-05 18 views
5

gitでリポジトリの履歴を共有する方法はありますか?フォルダ全体を再度クローンする必要はありませんか? Mercurialのgit相当の 'hg share'ですか?

hg share project project-branch 

https://www.mercurial-scm.org/wiki/ShareExtension

+0

hmmm、私はまったく水銀を知らない。 1つの歴史を持つ複数の働く木がほしいと言っているサイトを理解したと思います。これはあなたが探しているものですか(http://stackoverflow.com/questions/6270193/multiple-working-directories-with-git)? – houtanb

+0

Mercurialに慣れていないgitstersのための "共有"部分について詳しく教えてください。私は推測します。別のローカルリポジトリを作成し、そこにある既存のリポジトリからいくつかの履歴を作成したい場合は、Gitが* local * reposから履歴を取得しても問題ありません。単に '/ path/to/local/repo'または' file:/// path/to/local/repo'をURLとして追加します。さらに、最初のフォームが使用されている場合、Gitはハードリンクを使用してスペースを節約します。 – kostix

答えて

5

に相当何か私はhg shareのドキュメントを理解していた場合は、最も近いGitの相当git worktree、バージョン2.5の新機能で、次のようになります。

は、複数の作業を管理します同じリポジトリに接続されたツリー。

gitリポジトリは、複数の作業ツリーをサポートしているため、一度に複数のブランチをチェックアウトすることができます。 git worktree addでは、新しい作業ツリーがリポジトリに関連付けられます。この新しい作業ツリーは、 "git init"または "git clone"によって準備された "主要な作業ツリー"とは対照的に、 "リンクされた作業ツリー"と呼ばれます。リポジトリには、1つの主要な作業ツリー(裸のリポジトリでない場合)と0つ以上のリンクされた作業ツリーがあります。

私はそれがまだベータ版であると信じており、サブモジュールでは使用しないという明示的な警告があります。

git worktree add ../some/path/ branchをリポジトリから実行すると、branchでチェックアウトされた新しい作業コピーが作成され、../some/path/にチェックアウトされます。

この新しいコマンドの概要は、on GitHub's blogです。

+0

ええ、それはまさにそれです!私は彼らがこの機能を追加したことを知らなかった:)ありがとう。 – endavid

関連する問題