2011-07-14 2 views
1

私は幾分後方を学んでいると思います。私はgitにとても慣れていて、最近のプロジェクトまで水銀を使わなかった。Mercurialで開発環境を更新するために使用するコマンドは何ですか?

私が気になることの1つは、ファイルのエラーが追跡されないために開発環境をリフレッシュすることができないことがあることです。私は本当にファイルが開発サーバー上で追跡されるか追跡されないかどうかは気にしません。私はちょうどbitbucketからの最新の状態を引き出すことができるようにしたいと思います。

残念ながら、私は時にはアプリケーションの再作成と再クローニングに頼ってしまいます。通常これは大したことではありませんが、リポジトリに保存されていないため、これを行うたびにアプリケーションに追加する必要がある依存関係があります。私が実行しますgitので

...

git reset --hard; git checkout master -f; git pull; git checkout origin/master -f 

水銀同等とは何ですか?私は試しました...

hg revert --all; hg pull; hg update; 

これは時々私が期待するように動作するようです。それが動作しないとき、それはuntrackedファイルエラーのために中止します。私はいつも働くものを探しています。

+0

'hg reset --all'ではなく' hg revert --all'を意味すると思いますか? –

+0

はいhg revert --all、ごめんなさい –

+0

現代のファイルシステムでは、ローカルクローンからリポジトリを再クローニングすることは、瞬間的な動作に近いと言えるでしょう。 'hg clone -U pristineclone newclone'です。多くの人々は、まさにその理由のために*元のクローン*を保ち、そしてそれを仕事のためにクローンします。ハードリンク(linux、windows、osx)は、それを高速かつほとんどのディスクスペースから解放します。ネットワークを複数回複製する必要はありません。 –

答えて

6
hg up --clean 

これだけです。 (ではなくhg updateだからhgはgitよりもクールでユニークな略語が許されているので、私はgitを強制的に使用していると嫌い、git ciを正式バージョン管理システムのように受け入れません。私は非常に頻繁にそれを使用しないので、部分的にそれに丸まったことはありません)

hg help [command](またはhg [command] --help)が便利です。 revertのヘルプでは、おそらくhg update -r revまたはhg update --clean .を代わりに使用すると言います。

これは、追跡されたファイルのみを変更します。あなたが望んでいると思うのは、未追跡のファイルだけです。

+2

hgを使用するときの一般的なポリシー:gitで3〜5個のコマンドを実行し、それを実行するコマンドが2つ以上ある場合は、間違った方法で実行しようとしている可能性があります。 * 'hg'は' git'よりも簡単です*(そしてもっと正気なコマンド体系を持っています)* –

+0

BitBucketから最新のチェンジセットを持っていないと、最初に '' hg pull ''をタックすることができます。 –

+0

パーフェクト。私は同意すると、コマンドシステムはhgで簡単です。ただそれに慣れていないだけです。同等のことをするgitコマンドはかなりばかげていますが、それは私がよく知っているものです。とにかく、助けてくれてありがとう。 –

関連する問題