1

https://bitbucket.org/にリポジトリを作成し、TortoiseHg を使用してローカル マシンのフォルダーにクローンします。ファイル コミット ファイルを追加することはできますが、Bitbucket のサーバーでファイルが更新されないことがわかりました。ちょっといじってみると、この同期オプションがあることがわかりました。私が得られないのは、なぜ同期を押さなければならないのかということです。コミットするつもりなら、コミットする必要があります。

どこに保存されているか 削除サーバーとすぐに同期されない場合。

注: SubVersion で十分な経験を積みながら、TortoiseHg と Mercurial を試しています。

4

2 に答える 2

6

コミットするときは、ローカル リポジトリ (つまり.hg、プロジェクトのルートにあるディレクトリ) にコミットします。リモート リポジトリと同期するには、変更を明示的にプッシュする必要があります。これが DVCS の仕組みです。これは SVN と同じモデルではありません。

于 2011-06-06T12:02:00.673 に答える
4

分散バージョン管理システムの重要な機能は、ローカル コミットを作成できることです。これは、「コミット」を押しても新しいコミットがマシンから離れず、ローカルに保存されることを意味します。

これには、いくつかの直接的な影響があります。

  • 電車や飛行機の中など、オフラインでも仕事ができる

  • コミットは非常に高速です。Mercurial では、 n 個のファイル (通常は変更セットと呼ばれます)を含む新しいコミットを作成することは、 n + 2 個のファイルに数バイトを追加することを意味します。

  • 考えを変えることができます: 新しい変更セットを誰とも共有していないので、問題なくローカル マシンから削除できます。

また、いくつかの間接的な影響もあります。

  • コミットは高速であるため、人々はより多くのコミットを行う傾向があります。コミットは通常、集中型システムで表示されるものよりもきめ細かく、変更を簡単に確認できます。

  • コミットはローカルであるため、人々が並行作業を行うことがよくあります。これは、あなたと私が同じ初期バージョンに基づいて 1 つ以上のコミットを行った場合に発生します。

                    [a] --- [b] --- [c] <-- you
                   /
    ... [x] --- [y]
                   \
                    [r] --- [s]         <-- me
    

    両方とも changeset に基づいて作業を開始したため、履歴は事実上分岐していyます。これが機能するには、2 つのフォークをマージできる必要があります。これは常に発生するため、Mercurial ではマージが非常に強力にサポートされていることがわかります。

したがって、コミットの作成とコミットの公開を分離することで、いくつかの大きな利点が得られます。

于 2011-06-07T07:19:56.373 に答える