web-dev-qa-db-ja.com

SVNからGitブランチ/タグ/トランクへ

私はSVNからGitへと飛躍しています(ただし、SVNへの敬意は引き続き保持されます)。SVNからGitへの用語についていくつか質問がありました。 SVNでは、多くのリポジトリが次のように設定されています。

- trunk  : The place where all of the main development occurs
- tag    : Storing versions of major releases or important milestones
- branch : Where smaller "branch" development occurs as to not conflict with the main development occurring in the trunk, then is later merged into the trunk

Gitのbranch/tag/trunkの標準的な規則名は何ですか?

お時間をいただきありがとうございます。

17
Oliver Spryn

Gitは、プロジェクトに特定の構造を使用することを強制しません。 git自体にとって重要なすべての情報は、非表示の.gitディレクトリに保存されます。ブランチとタグを一覧表示または表示するには、gitコマンドを使用します。

git branch 
git tag
...

詳細については、git helpコマンドを使用するか、この無料の book をご覧ください。

15
Nicoretti
  • SVNトランク--- Gitマスター(refs/heads/master)
  • SVNブランチ/ * --- Gitブランチ(参照/ヘッド/ *)
  • SVNタグ/ * --- Gitタグ(参照/タグ/ *)
32
Dmitry Pavlenko

直接の類似物は実際にはありません。 SVNはディレクトリ構造を使用してコピーをリポジトリに直接保存し、ブランチとタグを許可します。したがって、これらのコピーをリポジトリに保持するための構造を作成するという概念があります。

一方、Gitはこれをメタ情報として維持し、ハッシュで識別される「時間」のある時点のスナップショットとしてすべてを扱います。

Subversionは、コピーを通じて履歴内の特定のチェックポイントをマークします。コピーは通常、tagsという名前のディレクトリに配置されます。 Gitタグははるかに強力です。 Gitタグには任意の説明を付けることができ(最初の行はコミットの場合のように特別です)、実際にはリリースアナウンス全体をタグの説明に保存する人もいます。タグ付けした人のIDが保存されます(コミッターのIDと同じルールに従います)。コミット以外のオブジェクトにタグを付けることができます(ただし、これは概念的にはかなり低レベルの操作です)。また、タグに暗号化されたPGP署名を付けて、IDを確認できます(Gitの動作の性質により、その署名は、関連するリビジョン、その履歴、およびツリーの有効性も確認します)。

したがって、基本的に「リポジトリ構造」はありません。プロジェクト構造(つまり、trunk、ブランチ、またはSVNリポジトリのタグにあるもの)のみがあります。

9
prodigitalson