1

ポーズをとりながら提案されたすべての質問を読みましたが、混乱してしまいました。SI はいくつかの変更を行い、それらをコミットしてプッシュしました。しかし、後で、プッシュする前に、リポジトリがプッシュされたことを知りました。だから私の質問は:

Q1. プッシュによってリポジトリが上書きされましたか? つまり、以前にプッシュされた変更がリポジトリに残っていませんか?

Q2. このような場合はどうすればよいですか?同じ作業コピーを取得するためだけに、自分が行った変更と他の変更も行う必要があります。

Q3. コミット/プッシュする前にコードを暗黙的に更新/プルできる方法はありますか?

Q4. リベースオプションとは何ですか? ドキュメントでそれについて読みましたが、コードで実行した変更は非公開ではありません。

仮定:

  1. 作成されたブランチはありません。(まあ、それらは作成されますが、それらは異なるモジュールであり、私はそれらに関心がありません)。
  2. Eclipse と MercurialEclipse を使用しています。

編集: 質問が既存の質問の (可能性のある) 重複である場合は申し訳ありません。

4

4 に答える 4

4

を押してリモート変更を破棄することはできません。で複数のヘッドを作成することはでき-fますが、押すだけで破壊履歴を作成することはできません。

リポジトリの状態をよく見て何が起こっているかを確認するhg serveには、それを使用してブラウザ(おそらくhttp:// localhost:8000 /graph)で確認します。次に、ヘッドとマージの状態を視覚的に確認できます。

于 2010-11-16T12:56:08.443 に答える
1

Mercurialを理解している限り、デフォルトでは、プッシュによって新しいリモートヘッドが作成されるときにプッシュすることはできません。
言い換えれば、他の誰かがあなたの前にプッシュし、あなたがそれらの変更をプルしてマージしなかった場合。
この動作は変更できますが、

push -f

そのオプションを使用しましたか?

Spolsky氏は、彼のチュートリアルでそれをよりよく説明しています。

于 2010-11-16T12:43:32.010 に答える
1

hg で medusa-repo を作成できたら、どのブランチを「メインライン」にするかを決定します。次に、各サブブランチに移動して、次のプロセスを実行します。

hg up -r subbranch
hg merge -r mainline-branch
hg commit -m "merged from main"
hg up -r mainline-branch
hg merge -r subranch
hg commit -m "brought in the subchanges from subbranch"

最初にサブブランチにマージすることで、メインラインが破損しないことを確認してから、簡単にメインラインにマージできます。

これは重大な危機ではありません。これには他の開発者と協力するだけでよいので、翌日かそこらで再び同じブランチにアクセスし始めます。

于 2010-11-16T17:25:42.743 に答える