Gitを押しつぶすコミット

私は毎日Gitを使用していて、GitガイドGitチートシート過去には。

私は自分自身をGitファンだと思っていますが、…私はGitの専門家ではありません。

コミット、オリジンのフェッチ、オリジンのプル、オリジンへのプッシュ..それがGitを使用する私の日常です。

そして、私はしますいくつかギット:

Gitができる高度なことは私の心を吹き飛ばします。それは非常に複雑になる可能性があり、私はそのすべての複雑さを避ける傾向があります。コマンドラインでGitを使用することはほとんどなく、GitHubデスクトップこれは、これまでで最もシンプルで優れたGitクライアントです。

しかし、私が時々使用する2つのことはさくらんぼ狩りそして押しつぶすコミット

それについて話しましょう。

私が唯一の開発者であるプロジェクト、つまりすべての個人的なプロジェクトでは、できる限りマスターに取り組む傾向があります。たとえば、単純な変更を行っている場合や、ブログに新しい投稿を追加している場合です。高速で壊れないもの。

ただし、場合によっては、このアプローチを使用せず、代わりに大きな機能のブランチを作成します。

これは、チームベースまたはオープンソースプロジェクトで作業する場合のデフォルトでもあります。

ブランチを作成し、頻繁にコミットします。いつでも動作状態に、または少なくとも何かが動作したことがわかっている状態に戻ることができるという自信を持ってコードを処理できるため、早期に頻繁にコミットすることは大きな利点です。

メッセージが「OK」、「これを試してみる」、または「ばかげた間違いを修正する」という一連のクイックコミットを実行する場合があります。

ただし、ある時点で、安定した状態に収束し、変更をマスターまたは任意のブランチにコミットする必要があります。

その前に1つのことをしたい:コミットを潰す。

GitHubプルリクエストをマージするときに自動的にそれを行うことができます。これは、私が過去に公開オープンソースリポジトリで頻繁に使用してきたワークフローです。

プルリクエストに含まれるすべての個別のコミットを表示する代わりに、1つのコミットのみを表示し、PRマージプロセスで、詳細で専用のコミットメッセージと説明を書き込むことができます。

これにより、マージ先のブランチの先頭から分岐する以前のGitコミットがすべて削除され、変更を元に戻した可能性のあるすべてのコミットも削除されます。

これは、GitHubPRプロセスで押しつぶされています。 GitHubの外部でコミットを潰すこともできます。

ブランチでの作業が完了したら、マスター(またはマージする他のブランチ)をそのブランチにマージします。

git merge master

そのため、そこで更新の競合を処理できます。

次に、マスターをチェックアウトし、そこから次のコマンドを実行します。

git merge --squash <your-feature-branch>

その後

git commit

これは、使用できるワークフローの1つにすぎません。また、GitHubを使用してすべてを実行するのは非常に簡単で、頭痛の種を最小限に抑えることができるオプションです。


その他のgitチュートリアル: