1

「Verified Accounts」というプロジェクトでデザイナーと協力しています。

私は というブランチで開発してverified_accountsおり、デザイナーは というブランチにいchris_verified_accountsます。私たちは定期的に互いの変更をマージしてきました。プロジェクトが完了するとverified_accountsmaster

ただし、このすべてのマージにより、大量のジャンク/重複コミットが発生しています。例えば:

http://dl.dropbox.com/u/2792776/screenshots/2012-03-02_1024.png

コミット (1) は、コミット (2) のみを含むプル リクエストのマージです。これは、これらのコミットが本質的に同一であることを意味します (同じ差分などがあります)。同様に、コミット (3) はコミット (4) のみをマージするマージです。つまり、3 と 4 も本質的に同一です。

これらの同一のコミットを管理する最善の方法は何ですか? つまり、コードの機能変更ごとに、関連付けられたコミットが 1 つ必要です。このようにして、変更セットにコメントしている場合、適切な場所にコメントしていることを確認できます (別のだまされたコミットのまったく同様の変更セットにコメントするのではなく)

この種のベストプラクティスは何ですか?

4

2 に答える 2

3

マージすると、マージ コミットが発生します。これは、ブランチをマージするときに避けられません。代わりにできることは、プルとリベースを同時に行うことです。

git pull --rebase
于 2012-03-02T18:41:15.473 に答える
2

ベスト プラクティスは、これらのコミットをマージ コミットと見なすことです。単純な「重複コミット」ではありません。(実際、それらはまったく重複したコミットではありません。) それらには、ブランチが別のブランチにマージされたという情報が含まれています。線形の履歴を保持しようとすると (これは、正直なところ、分岐や特に適切なマージを処理できなかったシステムの遺物です)、ソース コードがどのようにして現在の状態になったかに関する情報を必然的に失います。今。マージ コミットはプロジェクトの履歴の重要な部分であり、どのコミットがどの時点でどのブランチに属していたかを確認できます。それはあなたがそれらを書いた後でも、各枝をたどることができます. コミットに怪しいものがあれば、そのコンテキスト情報を使用して、なぜそのようにしたのかを再理解できます。

視覚化ツールで見栄えを良くしようとして、人為的にレポジトリを妨害しないでください。分岐とマージの機能を最大限に活用してください。

(はい、Git とブランチとマージが大好きです。)

于 2012-03-02T19:25:29.467 に答える