私は、各グループがメインの mercurial リポジトリのサーバー側のクローンを持つように設定されたプロジェクトに取り組んでいます。私たちが使用してきたワークフローには、ラップトップで開発し、コミットしてサーバー側のクローン リポジトリにプッシュし、それらの変更を強力なリモート マシンにプルしてテストを実行することが含まれます。変更をグループの他のメンバーと共有する準備が整うと、メインのサーバー側のクローンがローカル リポジトリにプルされ、ローカル リポジトリがメインのクローンに対してリベースされます。その後、変更をメインのリモート クローンにプッシュすると、履歴が線形履歴として表示されます。
問題は、個人のサーバー側のクローンがリベースされていないため、ローカル リポジトリと完全に同期していないことです。適切なブランチを使用していないため、マージ + リベースと移植 / 移植は、リポジトリの同期を取り戻すために使用するものではないようです。
サーバー側のクローンは、ローカル リポジトリと同じ履歴を持っている必要があります。そうしないと、すべての変更セットをプルおよびプッシュし、存在しない競合を解決するのに時間がかかります。メインからストリッピングしてプルすることなく、サーバー側のクローンにメインおよびローカルリポジトリと同じ履歴を持たせるにはどうすればよいでしょうか? 理想的には、サーバーにログインする必要はありません。