週の間に2台のコンピューターからコーディングする必要があります。2台のコンピューター(Mac)を同期する最良の方法は何ですか?SVNのようなソース管理を使い始めました。同期したいコードをチェックインしてもコンパイルされず、同じプロジェクトで作業しているチームの他の人の邪魔になることを除けば、かなりうまく機能します。
ブランチは使いたくない。私がオフィスから家に帰るとき、毎晩分岐するのは意味がありません。
週の間に2台のコンピューターからコーディングする必要があります。2台のコンピューター(Mac)を同期する最良の方法は何ですか?SVNのようなソース管理を使い始めました。同期したいコードをチェックインしてもコンパイルされず、同じプロジェクトで作業しているチームの他の人の邪魔になることを除けば、かなりうまく機能します。
ブランチは使いたくない。私がオフィスから家に帰るとき、毎晩分岐するのは意味がありません。
コードをトランクではなくブランチにチェックインすることができます。そうすれば、コンパイルエラーで他の人の邪魔をすることなく、バージョン管理のすべての利点を得ることができます。
ここに、Subversionで分岐する方法の説明があります。
Microsoft Foldershare (現在は Live Sync と呼ばれています) などを使用します。無料で、Mac で問題なく動作します。
これにはソース管理を使用しないでください。私の Mac では、過去に Microsoft の FolderShare を使用したことがありますが、これは非常にうまく機能します。ファイルを保存するたびに、2 ~ 3 秒以内に変更が同期されたすべてのマシンに反映されます。唯一の注意点は、クラウドがないため、両方の (または少なくとも 1 つの永続的な) マシンが同時にオンラインである必要があることです。FolderShare は巨大な MP3 ライブラリでは機能しませんが、コード ツリーではうまく機能します。
Dropboxを試しましたか?基本的に、アプリケーションを実行している複数のPCにまたがるフォルダーをセットアップし、ファイルのバージョンを保存しますが、プログラミング環境で疲れたことはありません
ギットを使用します。バージョン管理システムのすべての利点がありますが、ローカルで作業します。プロジェクト コードが既に SVN にある場合は、git-svn を使用して git と svn の両方を連携させることができます。これは git-svn by example のわかりやすいガイドです。
git を使用すると簡単に分岐できるため、頻繁に分岐する必要があります。Git ブランチは SVN ブランチとは異なります。これらはローカルに保存され、SVN のようにプロジェクト全体の単なるコピーではありません。最後に、両方のコンピューターで Dropbox をセットアップして、変更が自動的に同期されるようにします。
したがって、ワークフローは次のようになります。
git-svn clone http://mysvnrepo local_dir
ローカルリポジトリを取得するにはgit checkout -b my_new_branch
新しい機能に取り組みたいときgit merge my_new_branch
git-svn rebase
コミットし、最初にローカル リポジトリを更新してから git-svn dcommit でコミットします。Mercurial (hg)または gitでは、バージョン管理サーバーは必要ありません。USB キー、メールごとに送信されるバンドル、または一時的に起動されたサーバー ("hg serve") を介して同期できます。この方法では、他の誰もバージョン管理サーバーを知ることはなく、チーム メンバーに干渉することもありません。hg と git の両方が subversion とやり取りできます (ただし、どれだけうまく機能するかはわかりません)。
多くの人がこれを過度に複雑にしていると思います。解決策は明らかです。ポータブル USB デバイスを使用して、そこにチェックアウト ディレクトリを用意してください。あなたの与えられたシナリオでは、それは非常に理にかなっています。
Fuseとsshfsを使用して、自宅のマシンの作業マシンに関連するディレクトリをマウントします。
SVN にコミットする前に、コードが準拠していることを常に確認する必要があります。コミットする前に、更新を行い、必要なマージを実行する必要があります。私が知っている一部のチームでは、準拠できないコードをコミットすると罰金が科せられます。
svnリポジトリでブランチを使用してみてください。または、MobileMeサブスクリプションをお持ちの場合は、iDiskを使用できます。
他の開発者がコンパイルする必要があるコードに干渉したくない場合にも、従うべきいくつかの簡単な規則があります。
Microsoft Live Mesh が気に入っています。使いやすく、同期するフォルダーを選択するだけで準備完了です。
機能する詐欺師のソリューション:
私の好み: 簡単な電子メール。フォルダを頻繁に .zip して、自分宛てに電子メールで送信するだけです。POP3 アカウントには「メールをサーバーに残す」も使用しているので、コンピューターが故障しても問題ありません。したがって、バックアップとバージョン管理を一緒に取得します。
フラッシュドライブを使用してください。フラッシュドライブから作業してハードディスクにバックアップするか、その逆です。
上記の 2 つの方法は、複数のコンピューターを使用する 1 人の開発者にとって非常にうまく機能します。
編集:おっと、申し訳ありませんが、チームの側面を逃しました。電子メール ソリューションは引き続き機能しますが、チーム ソース管理を使用するのが最適です。複数のユーザーが同じコードをめちゃくちゃにするからです。TFSと Visual Source Safeは完璧なソリューションとは言えません。ソース管理システムの問題は、それらを習得するための学習曲線です。残念ながら、チーム環境では、それは必要なタスクです。