2016-05-29 3 views
4

水銀がプッシュ操作のフェーズ "公開"にチェンジセットを追加することを妨げる方法はありますか?私は彼らに "ドラフト"を残して欲しい。hg pushのフェーズ "draft"でチェンジセットを保持する方法は?

私はリベースしてヒストリットをたくさんしています。私がプッシュするリポジトリは私のためだけです。常にフェーズを変えなければならないのは迷惑です。

答えて

9

どのようなドキュメントが明確に明らかにしないことです:プッシュの

相変化は、純粋にローカルな決断ではありません。 - チェンジセットを "アップロード"した後、クライアントはコミットのフェーズに関する更新をサーバーに要求し、通常はサーバーが現在「公開」していると伝えます。

したがって、.hgrc -snippet

[phases] 
publish = False 

が通常の相変化を阻害するサーバー、上に置く必要があります。サーバーは、フェーズが報告されたのと同じ方法で報告します。

Bitbucketには、設定→リポジトリの詳細→フェーズというオプションがあります。

1

https://www.mercurial-scm.org/wiki/Phases

A repository is "publishing" by default. To make a repository non-publishing, add these lines to its hgrc configuration: 


[phases] 
publish = False 
+0

大丈夫です。セカンドヘッドを押すようにしてください。後でローカルのレポでそれを削除し、*これをリモートにプッシュしてください! –

+0

@ LazyBadger:何のために? –

+0

@RobertSiemer - "歴史の書き換え"のケースの1つ - 嵐の簡単な方法をテストしたときに偶然見つけたよ。 –

-1

短い答え:nohow

あなたは両方のローカルおよびプッシュ対象に歴史を書き換えたい場合は、

  • に(両側)
  • を有効にしています
  • 理解
  • 使用Evolve Extension(まだexpe rimental)
+0

私はプッシュターゲットで書き直したくありません。 –

+0

@RobertSiemer - あなたが**ほしい**、*ローカルのみに書き直す*感覚がない –

+0

ええ、私はしたいですが、それは質問の一部ではありません。 –

2

位相をdraftに保つ最も直接的な方法は、既に発見したように、リモートサーバーを「公開しない」ように構成することです。

ただし、何らかの理由で送信先サーバーを「公開しない」に設定できない場合は、いくつかの点で役立つ場合があります。pushではなくpullを使用してください。プルは読み取り専用であるため、リモートからローカルリポジトリの変更をプルするようにワークフローを設定できる場合(たとえば、ローカルエイリアスを使用して)、フェーズdraftのままになります。

+0

あなたは私のために働いたプル 'を使用するための提案。私は上記の "非出版"の設定を試みたが、それは私のために働かなかった。今では私の「ドラフト」はサーバー上にそのまま残っています。 –

+0

あなたはリモートがあなたから引っ張るような方法でどのようにプッシュしますか? – binki

+0

あなたは押してはいけません、あなたはリモコンにsshし、そこから引き出します。対話的に、またはスクリプトで。 – alexis

関連する問題