Kenji Suzuki
kenji****@gmail*****
2011年 3月 25日 (金) 22:04:50 JST
Kenji です。 Bitbucket から ci-ja を clone し、手許のリポジトリに変更をコミットし、 Bitbucket A --> B --> C | 自分 C --> L --> M --> N Bitbucket に push する前に、他の人が push していた場合。 Bitbucket A --> B --> C --> D --> E | 自分 C --> L --> M --> N このような場合、そのまま強制的に push しても、あるいは pull しても、 ヘッドが増えてしまい、マージする必要が生じます。 このような場合、Mercurial の機能拡張の rebase を使えば、 Bitbucket A --> B --> C --> D --> E | 自分 E --> L' --> M' --> N' のように自分のリポジトリを変更できます。これだとヘッドを増やさずに push することができます。 まず、設定ファイルに以下を追加します。 [extensions] rebase = そして、pull するときに --rebase オプションをつければ OK です。 $ hg pull --rebase もし、衝突した場合は、衝突を解消し、 $ hg rebase --continue で rebase 処理を継続できます。 ただし、rebase した場合は rollback できませんので注意してください。 // Kenji