2

origin私は、各コミットの後にプッシュする習慣を身につけました。小さな変更を加えた後にコミットするという意味で、私のコミットのほとんどはかなり些細なことです。それは良い習慣ですか?

小さなコミットごとにプッシュすると、いくつかのコミットを行った後にプッシュする場合と比較して、リポジトリのサイズが大きくなるという印象を受けます。この理解は間違っていますか?

4

3 に答える 3

4

コミットがローカル リポジトリにのみ存在する限り、それらをいじることができます (git commit --amend最後のコミットを修正するかgit rebase -i、作業を並べ替えて整理するため)。コミットの直後にそれらをプッシュすると、後で修正するのがかなり難しくなります。

他の誰かによってデプロイまたはテストされようとしている場合を除き、変更を 1 日 1 回プッシュするのが好きです。何かをコミットするのが少し早すぎたことを知る余裕ができます。

リポジトリのサイズにはまったく影響しません。

于 2013-01-31T10:24:06.333 に答える
2

私は、コミットするたびに原点にプッシュする習慣を身につけました。小さな変更を加えた後にコミットするという意味で、私のコミットのほとんどはかなり些細なことです。それは良い習慣ですか?

私の意見では、すべてのコミットをオリジンにプッシュするべきではありません。代わりに、フィーチャーでの作業が終了したらインタラクティブなリベースを使用して小さなコミットをスカッシュし、フィーチャーを 1 つのコミットとしてオリジンにプッシュします。しかし、これに対する明確な答えはありません。「git ワークフロー」をグーグルで検索すると、いくつかのオプションが表示されます。

小さなコミットごとにプッシュすると、いくつかのコミットを行った後にプッシュする場合と比較して、リポジトリのサイズが大きくなるという印象を受けます。この理解は間違っていますか?

違う。ただし、プッシュする前にリベースすると、押しつぶされたコミットはオリジンに行き着きません。

于 2013-01-31T10:26:28.717 に答える
1

チームで作業している場合、最後にプッシュした人がマージの競合を解決する必要があるため、頻繁にプッシュすると個人的に楽になります。あまり頻繁にプッシュしない人は、より頻繁にプルすることで、リポジトリが分岐しすぎる前に競合が検出されるようにすることで、この点での生活を楽にすることができます。

頻繁にプッシュすることの欠点は、コミットをプッシュした後、リベースを使用してコミットを並べ替えたり、つぶしたりできず、それらを修正できなくなることです。これは個人的なことかもしれませんが、前のコミットの説明に収まる些細な変更がある場合は、新しいコミットを作成するのではなく、前のコミットを修正します。プッシュした後は、もうそれを行うことはできません。したがって、頻繁にプッシュすると、不要な git ログを膨らませるより多くの些細なコミットが発生することになります。

于 2013-01-31T10:22:42.743 に答える