1. ホーム
  2. ギット

[解決済み】Gitのリビジョン番号に相当するものは何ですか?

2022-04-05 07:29:40

質問

会社ではSVNを使っていますが、個人的なプロジェクトではGitを使うことにしました。そこで、昨日Gitをインストールしたのですが、その際 リビジョン番号 相当 Gitで .

例えば、私たちはバージョン3.0.8で作業しており、すべてのバグ修正には、このバグ修正について話すときに使用できる独自のリビジョン番号があるとしましょう。では、Gitでコードを3.0.8にタグ付けしたら、リビジョン番号やもっと詳細な識別のために何が使えるでしょうか。私は、ハッシュは人間にとってあまり使いやすいものではないと感じています。

解決方法は?

そのハッシュはリビジョン番号です。 私もSVNからgitに切り替えたときに、この問題に悩まされました。

git では "tagging" を使って、あるリビジョンを特定のバージョンの "release" としてタグ付けすることができ、そのリビジョンを参照しやすくすることが可能です。 以下をご覧ください。 ブログ記事 .

理解すべき重要なことは、gitはリビジョン番号を持てないということです。分散化された性質について考えてみてください。 ユーザーAとBがともにローカルリポジトリにコミットしている場合、gitはどのようにして連続したリビジョン番号を合理的に割り当てることができるでしょうか? A は、お互いの変更をプッシュ/プルする前の B について何も知らないのです。

もうひとつ、バグフィックスブランチの簡略化も検討すべきです。

リリースから始める 3.0.8. そして、そのリリースの後に、こうしてください。

git branch bugfixes308

これにより、バグフィックス用のブランチが作成されます。 このブランチをチェックアウトしてください。

git checkout bugfixes308

ここで、必要なバグフィックスの変更を行います。

git commit -a

それらをコミットし、master ブランチに戻ります。

git checkout master

そして、その変更を他のブランチから取り込みます。

git merge bugfixes308

この方法では、リリース専用のバグフィックスブランチを別に持ちながら、バグフィックスの変更をメインの開発用トランクに取り込むことができます。