2009-02-28 20 views
10

私はプログラムの一部を書く契約を結んでいます。他の部分を書いている人は別の都市にいる。私は、前後に変更を送信する便利な方法を見つけたいと思います。他の理由から、私はgitを分散型VCSとして使い、メールを前後に変更する方法を学びたいと思います。 (私はSCCS、RCS、PVCSを常にロックしていましたが、ブランチング&をマージし、セントラルサーバに依存しないようにする方法を学びたいと思います)。

私たちは
(a)私たちの皆さんは、両方の部分を変更する必要のあるバグ修正や新機能に貢献しています。
(b)バイナリをコンパイルしてパッケージ化します。
(別のものに依存しない機能についても別々に作業する必要がありますが、タスク(a)で動作するものはこれでも動作するものとします)

背景:前のVCS。彼はそのアイデアに少し抵抗している。彼はすべてがまだロックアウトチェックアウトを使用しているわけではないことを知りませんでした。十分な深さで私たちがやっていることすべてを理解する必要があるでしょう。彼はまた、ソースをサーバーに保存することに非常に苦労しています。これは変更を電子メールで送信することを好む別の理由です。簡単に暗号化できます。

その他の関連する可能性のあるコンテキスト:開発環境としてWindows上でDelphiを使用しています。他の開発者を追加することはほとんどありません。私たちは顧客版を年に2〜3回パッケージ化する必要があります。おそらく10人を超えることはないでしょう。

質問:
1)私はこのプロジェクトを使って分散開発の技術を学ぶべきですか?それとも、あまりにも多くの過労で、私は単純なことをやるべきですか?私は学習に余分な時間を費やすことはありませんが、数週間もかかりません。

2)質問1に「はい」とすると、上記の各作業にどのワークフローを使用する必要がありますか?

3)どのようなWindows GUIプログラムが必要なタスクをすべて実行しますか? (私はコマンドラインのものにとても満足しています;彼はそうではありません)

ありがとうございました。

私はgitを使ってこれまでに学んだことを示す "gitting started"に関する非常に詳細なチュートリアルを書いています。それはあなたがこれまでそれを読んでいる場合はhttp://xorandor.com/GittingStartedにあります。私はVCSについて一般的には少ししか知りませんが、全体的にはあまり知らないgit初心者のために書こうとしました。私はもっ​​と学ぶようにそれに追加するつもりです。2人の共同していない開発者が使用するワークフローは?

+1

以前はバージョンコントロールを使用していない男と書いていますか?恐ろしい! –

答えて

4

他の男は以前にVCS を使用したことはありません。彼は アイデアに少し抵抗しています。

私は、ソースセーフからサブバージョンへの切り替えを余儀なくされたユーザーのトレーニングとサポートに携わっています。驚くほどのユーザー抵抗がありました。今は1年以上経ちましたが、「subversionが私のものを破ったときには」という事件を修正するために定期的に呼びかけられます(当然です)。

これを知っていると、誰かがVCSを使わないようにすることを躊躇しています。おそらく最も使いやすいVCSではないでしょう。特に彼らがVCSの考え方を嫌うならば。あなたが机の上で彼らを助けることができなければ、二重にそうです。

だから考慮してください:いくつかの原因は単に失われた原因です。この人と長時間一緒に仕事をしない限り、自分でリポジトリを設定するほうが良いかもしれません。変更されたファイルをあなたに電子メールで送ることができます。少なくともgitを使うと、最後の統合時点からどのファイルが変更されたかを簡単に確認することができます。

4

gitを学ぶにはこのProjetを使いますか?私ははいと言うだろう。

inherent benefits of source controlのほかに、gitを使用すると、各開発者システムでリポジトリの完全なコピーを持つという利点があります。

それぞれのリポジトリの上に私がやることの1つは、毎日中央サーバと同期させることです。

ワークフローは次のように行くだろう:あなたはできる限り頻繁にローカルのgitリポジトリに変更を加える

  1. 一定の間隔(1日に1回、大きなバグ修正や機能の後など)で、Webホストまたは別のgitホスティングプロバイダ(別名GitHub)にある中央リポジトリにリポジトリをプッシュします。
  2. リポジトリではなく、常に中央リポジトリから変更を取得します。中央レポジトリをリリースレポとして扱うことができます。これにより、最新のレポ(自分または自分)が混乱することはありません。

私は、分散バージョン管理システムの全体的なポイントは中央リポジトリを持たないことを知っていますが、私はその余分なコピーをオフサイトに持っているのが本当に好きです。何かがあれば、バックアップ目的でリポジトリのコピーをもう1つ提供します。

ウィンドウズ上のgitまでは、illustrated guide to running git on windowsをチェックアウトします。組み込みのgit-guiは必要なものがたくさん残っていますが、機能的で使いやすいものです。

また、あなたのパートナーはソース管理が初めてであるため、Eric Sinkの優れたSource Control HOWTOをお勧めします。これは、ソースコントロールののに関する多くの素晴らしい情報を提供します。

0

私はgitでかなり新しいですが、おそらく最も速い方法はこれです:
gitでコンピュータに2つのリポジトリを作成できます。
あなたの仕事のためのもの、そして彼があなたに送る仕事のためのもの。
ありnice tutorial to start(ニックで述べたように)
あなたはTortoiseGit

マイポイントの前の窓/ Subversionで作業している場合、このツールは良いです:両方を作る、あなたはgitのに非常に良い感じになるまで彼を教えるために開始されません。あなたのコンピュータのリポジトリ/ブランチ。

0

私はちょうどそれぞれにautosetuprebaseを設定し、かなり簡単な設定から始めます。

あなたが得る競合を抱きしめてください。それは、そうしなければ失われてしまった変更です。

1

私の経験では、GitはまだWindows上ではうまくサポートされていません。

もっと使いやすい、しかしより使いやすいDVCSについては、Mercurial(a.k.a. Hg)を参照してください。これにはTortoise-clientとかなりフレンドリーなコマンドラインツールがあります。

また、Mercurial用のVisual StudioとEclipseプラグインもあります(NetBeansもそうだと思います)。彼らは合理的にうまく動作し、他のツールには優れたアドオンです。 (Stuff getの追加/削除/名前の変更は自動的に行われ、基本的なsyncronizationタスク(プッシュ/プル)はうまく動作します)

+0

あなたはtortioise-gitについて聞いたことがありますか? – Avram

+0

しかし、私がそれを見たとき(2008年前)、それはhgの変種ほど完全ではなかった。また、主な開発者は、当時コミュニティのサポート/フィードバックが不足しているため、少し動揺していました。しかし、http://repo.or.cz/w/TortoiseGit.gitを見ると、もっと多くのことが起こっているようです。 – Macke

0

他の開発者はリビジョン管理の概念に精通していないので、ゆっくりと開始することをお勧めします。

私の提案するワークフローは、自分の側にある "git clone"できるリポジトリで構成されています。 変更内容をどのように取り込み、変更内容をメールしてもらうかを教えてください。 gitがチェンジセットをメールで送信する方法を彼に示します。このようにして、前にバージョンコントロールシステムを使用したことのない人にとって、混乱の大きな原因となる傾向のある編集の競合を心配する必要がある人物になります。

関連する問題