翻訳:Saki Kitaoka. - Original Blog Link
Databricksでは、開発者の経験をシンプル化することに力を入れており、Databricks Reposにおける追加のGit機能を発表することを大変嬉しく思っています。ユーザーは現在、Repos UIから直接、Git merge(マージ)とGit rebase(リベース)を実行し、マージのコンフリクトを解決することができます。
新しい操作:マージ&リベース
それぞれの操作は、あるブランチから別のブランチにコミット履歴を結合する方法で、違いはその達成戦略にあります。初心者の方には、まずマージを使用することをお勧めします。なぜなら、それはブランチへの強制プッシュを必要とせず、したがってコミット履歴を書き換えないからです。リベースはプロジェクトの履歴をクリーンに保ちますが、その履歴を書き換えることがあり、問題を引き起こす可能性があります。Databricksは、チームが最も適している方法を選ぶことを可能にします。戦略の違いについて詳しくは、Atlassianの該当するドキュメンテーションをご覧ください (documentation on the subject)
何がマージコンフリクトを引き起こすのか?
マージ&リベース操作
マージまたはリベース中に、Gitが自動的に一つのブランチから別のブランチにコードを結合できないとき、マージコンフリクトが発生します。時として、2人のユーザーが同じコードの行を変更してしまい、どちらを保持するべきか自動的に決定することが不可能になります。マージコンフリクトは、マージやリベースを完了する前に手動で解決 する必要があります。
プル操作
プル操作は、リモートブランチからローカルブランチにコミットをプルします。ユーザーが未コミットの変更を持っていてもプル操作を実行することができます。これは、未コミットの変更がリモートからプルされてくるコミットとコンフリクトする場合、解決が必要なマージコンフリクトが結果として生じることを意味します。
マージのコンフリクトの解決方法
もしマージのコンフリクトが発生した場合、Repos UIはそれらを解決するためのツールを提供します:
- 手動でコンフリクトを解決する(Manually Resolve Conflicts):コードエディタを使用して、コンフリクトマーカーを削除し、必要に応じてファイルを編集した後、「解決済みとしてマークする」ボタンをクリックします。
- 「現在の状態を保持する、または、新しい変更を受け入れる」(Keep All Current or Take Incoming Changes):マージのコンフリクトを解決するもう一つの方法は、Gitにファイルを編集させることです。もし一方のブランチからのすべての変更が望ましい場合、ドロップダウンのオプションを使用して、「現在のすべての変更を保持する」または「すべての新しい変更を受け入れる」を選択できます。
- Tip:どのオプションを選ぶべきか迷っていますか?各オプションの色は、それが保持するコードの変更部分と一致しています。
変更が望ましくない場合は、「中止」ボタンを使用してプロセスを中止し、すべてを元に戻すことができます。すべてのコンフリクトが解決されたら、「マージを続行」または「リベースを続行」オプションをクリックして、コンフリクトを解決し、操作を完了させます。
詳細については、DatabricksでのGit操作を参照してください。(Git operations in Databricks)
まとめ
Databricksは引き続き、データサイエンティストとエンジニア向けに強力で使いやすいツールを提供するためにイノベーションを推進しています。Reposでの新しいGitマージ、Gitリベース、およびコンフリクト解決機能は、コラボレーションをより効果的かつシームレスにし、開発者体験をさらに向上させます。始める準備はできましたか?Databricks内でマージまたはリベース操作を試してみるか、Databricks Reposのドキュメンテーションをさらに探求して学びましょう。