タグ付けされた質問 「mercurial」

Mercurialは高速でオープンソースのDVCS(分散バージョン管理システム)です。


2
競合の解決:「自分の」変更を自動的に受け入れる方法は?
を使用して競合する変更をマージするとhg merge、Mercurialは次のように、作業コピーにマージされるファイルにマーカーのセットを挿入します。 <<<<<<< local version = 0.2 ======= version = 0.1 >>>>>>> other 次に、によって作成されたリストからUとマークされたすべてのファイルを手動で編集しhg resolve --all -l、次にmercurialに解決したことを伝えますhg resolve -m file1 file2 file3 ... ただし、多くの状況で、一部の競合するファイルに対する変更を自分または自分のみのいずれかで受け入れたいと思います。名前が付けられた2つの単純なsed / awk / whateverスクリプトを作成することを考えていますかaccept-theirs.sh、accept-my.shまたはそれを行うための「適切な」方法はありますか?
97 mercurial 

11
Mercurialでは、プッシュする前に一連のチェンジセットを1つに「圧縮」する方法を教えてください。
ローカルとリモートのMercurialリポジトリがあるとします。今、私は機能に取り組み始めます。私はそれに取り組み、それが完了したと思ったら、チェンジセットをコミットします。もう少しテストすると、コードを調整することでこの機能をさらに改善できることがわかりました。変更を加えてコミットします。20分後、この新機能にバグがあるので、修正してコミットします。 たとえば、リモートリポジトリにプッシュしたいチェンジセットが3つあります。たとえば、「Implementing feature X」というメッセージの付いた1つのチェンジセットとしてプッシュします。 手間をかけずにこれを行うにはどうすればよいですか?パッチでできると思いますが、大変な作業のようです。

7
すべてのローカルチェンジセットを削除し、ツリーに戻します
私はMercurialを使用していて、3つの頭を持つローカルでひどい混乱に陥っています。プッシュすることはできません。ローカルの変更とコミットをすべて削除し、完全にクリーンなコードとクリーンな履歴からやり直したいだけです。 言い換えると、(a)リモートブランチの先端に存在するものとまったく同じコードがローカルにあり、(b)ローカルコミットの履歴がないことです。 hg update -Cローカルの変更を上書きすることを知っています。しかし、ローカルコミットを削除するにはどうすればよいですか? 明確にするために、私がローカルで行った作業を保存することに関心はありません。完全にクリーンなローカルチェックアウトに戻す最も簡単な方法が欲しいだけです。

6
Mercurialの方がSubversionよりも分岐とマージが簡単なのはなぜですか?
SubversionまたはCVSでブランチへの複数のマージを処理することは、経験しなければならないことの1つにすぎません。Mercurial(およびおそらく他の分散システム)でブランチとマージを追跡するのは非常に簡単ですが、理由はわかりません。他に誰か知っていますか? 私の質問は、MercurialではSubversions / CVSの中央リポジトリと同様の作業方法を採用でき、すべてが正常に機能するという事実に由来します。同じブランチで複数のマージを行うことができ、コミット番号とタグ名を含む紙の無限のスクラップは必要ありません。 Subversionの最新バージョンにはブランチへのマージを追跡する機能があるので、同じ程度の手間はかかりませんが、それは彼らの側での巨大で大きな開発であり、それでも開発チームが行うすべてのことを行うわけではありませんそれが好きです。 すべてが機能する方法には根本的な違いがあるはずです。

4
最も一般的なMercurialコマンドに相当するGitですか?
Mercurialを使用してきましたが、Gitの簡単なデモを行いたいと思います。 Gitに相当するものは何ですか? hg init . # start a project in the current directory hg addremove # look for any added or deleted files hg commit -m "comment" # commit any uncomitted changes hg status # what have i changed since the last commit?
89 git  mercurial 

1
リモートサーバーのhgパスを取得する方法
ローカルの変更をSSL経由でプッシュするためのリモートリポジトリを作成しました。私はhg showconfig --debug自分のリモートhgパスを見つけようとしましたが、面倒なので、それが何であるかを正確に見つける方法を指摘することができます。

2
Mercurialでのマージを中止する方法は?
私はマージを間違えました。元に戻してからもう一度やり直したいのですが。 コミットされる前にマージを元に戻す方法はありますか? hg revert私が望むことをしません、それはファイルのテキストを元に戻すだけです。Mercurialは、マージの2回目の試行を中止し、元のマージがまだコミットされていないことを訴えます。 hg mergeコマンドの後、コミットされる前にマージを元に戻す方法はありますか?

2
Virtualenvとソースバージョン管理
私は最近Djangoプロジェクトを開始しましたが、virtualenvが多くの理由で本当に役立つことにすぐに気付きました。virtualenvとプロジェクトをセットアップしましたが、ソース管理(私の場合はMercurial)にどのファイルを追加する必要があるのか​​疑問に思います。venvフォルダーの下にすべてのファイルを追加する必要がありますか?同僚がクローンを作成して、環境を再度セットアップしなくてもすぐに作業を開始できるようにするにはどうすればよいですか?

3
Mercurialで2つのプロジェクトを組み合わせる方法は?
私は2つの別々のMercurialリポジトリを持っています。この時点で、私は2つのプロジェクトに同時に取り組みたいので、それらが「1つになる」ことは理にかなっています。 2つのプロジェクトをそれぞれ新しいリポジトリのサブディレクトリにしたいと思います。 2つのプロジェクトをマージするにはどうすればよいですか? これは良い考えですか、それとも別々にしておくべきですか? あるリポジトリから別のリポジトリにプッシュできるはずです...多分これは本当に簡単ですか?
84 mercurial 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.