プログラマーではない人(デザイナー)がバージョン管理を簡単に使用できるようにしますか?


13

開発中、Web開発中などでバージョン管理を使用してチームを関与させるための重要な方法は何ですか?

私はそれなしで仕事をすることを拒否します。つまり、プロジェクトに関わるすべての人もそれを使わなければなりません。それはちょうど良い習慣です。

TowerのようなGUIは役立ちましたが、そのコンセプトは怒り(「私の仕事じゃない!」という態度)、ti病、またはまっすぐにそれを使用しない(FTPを使用する、開発や展開などのバージョン管理を回避する) )。

編集:画像/ PSDを意味するだけではないことを少し明確にすべきでした。


11
それを作るEASY ...使用に

1
Gitを数日間使ってみると、Gitは非常に簡単であり、開発の進め方についてコンセンサスを持っていることがわかります。
ケビン

2
覚えておかなければならないのは、バージョン管理とバックアップが時々(非常に異なるものの)融合し、バイナリデータを持つ設計者に融合することです。バックアップはすでに標準であり、したがって、彼または彼女が得ているものを理解する必要があります。
アーロンマクアイバー

1
@Kevin:プログラマーにとって簡単で、明白で、直観的であることは、必ずしも他の人にとっては賢明で創造的な他の人にとってもそういうものではありません。
デビッドソーンリー

1
デザイナーに関与してから、バージョン管理に個人的に従事します。:)

回答:


11

私は開発者とデザイナーの両方のチームで働いており、全員がバージョン管理を使用しています。デザイナーにとっては、それは最悪です。

ファイル共有/バックアップは常にバージョン管理と同等です

あなたが言う時:

私はそれなしで仕事をすることを拒否します。つまり、プロジェクトに関わるすべての人もそれを使わなければなりません。それはちょうど良い習慣です。

バイナリデータでバージョン管理を使用する場合の落とし穴に注意する必要があります。

  • 上書き:2人のデザイナーが同じファイルで作業している場合、コミットする2番目のデザイナーが最初の変更を現在のバージョンとして上書きします。これを防ぐ唯一の方法は、ロックするか、誰がどのファイルに対して何をしているのかを常に伝えることであり、どちらもチームのワークフローを妨げる可能性があります。
  • マージ:ツールを使用したマージは、バイナリデータには存在しません。手動でのマージは痛みを伴い、大量のエラーが発生しやすくなります。
  • リポジトリの肥大化: VCシステムは、テキストファイルの変更された行のみを保存します。ファイル全体がVCシステムとは異なるように見えるため、これはバイナリデータでは不可能です。つまり、10 KBのテキストファイルの20のバージョンは20 KBしか使用できませんが、1 MBのファイルの20のバージョンはおそらく20 MB近くを使用します。中規模の設計チームは、数十のバイナリファイルで多くのリビジョンを簡単に生成できます。あなたのIT部門は、ストレージ要件と、場合によってはVCサーバーのメモリ/ CPUの増加のために、すぐにあなたを嫌うかもしれません。

    あなたと他の開発者は、バイナリファイルを避けるために非常に優れたリポジトリ組織をセットアップしない限り、すぐにチェックアウトまたは更新にかかる時間を嫌うかもしれません。

  • 利益の減少:あなたのデザイナーはめったに、これまでであれば、過去のバージョンの内容2をチェックするために)1ので、簡単な方法は、バックバイナリファイルの以前のバージョンに戻りません)とにかくそれをマージする簡単な方法を、そして最も重要なのは、3)彼らドンそのようには動作しません-それらは、プロダクションファイル自体にまだ役立つかもしれないいくつかのグラフィックの代替バージョンを構築するために使用されます。

コードについては、VCを絶対に使用する必要があり、VCを要求するのは正しいことです。

しかし、それはもがそれを使用しなければならないことを意味するという仮定と、それが設計者にとっても良い習慣であるかどうかを確認する必要があります(バックアップはそうですが)。Webサイト/アプリケーションに必要な最終グラフィック資産をVCに保存する必要がありますが、実動ファイルの場合は適切なソリューションではない場合があります。


「リポジトリの肥大化」について:適切なファイル形式でそれを回避することができます。ドキュメントマークアップ言語形式で保存されたドキュメントと、同等のバイナリ形式ではなくグラフィックスマークアップ言語形式で保存されたグラフィックスが非常に役立ちます。もちろん、これの実行可能性は、問題のプロジェクトと、関与する人々の意欲と能力に依存します。;)
Baelnorn

5
上書きは、価値のあるVCSでは発生しません。何が起こるかは、同じファイルの2つのバージョンがあることです。はい、リポジトリのHEADには最後の保存があります。しかし、他のデザイナーの作業は、共有ハードドライブ上にあるように失われません。それは重要な違いだと思います。
ベリンロリチュ

2
@Berin:それは事実ですが、現代のVCSの利点の1つは、2人が同時に同じことを行うことができ、多くの調整作業が自動的に行われることです。ただし、意味のあるマージプロセスがないバイナリファイルでは、それは不可能です。さらに、リポジトリのヘッドは、人々が「本物」と考えるものです。
jprete

1
ソースコードと設計ドキュメントのライフサイクルは異なるため、必ず個別のリポジトリを使用してください。リポジトリがデザイナーにとって悪いことだとは思いません。ほとんどの時間は、ドキュメントに多くの小さな変更を加えることなく、思考とモデリングに費やされます。また、(リポジトリに保存されているすべてのファイルで)自動マージを許可しないルールにするため、編集のためにファイルを強制的にロックします。優れたチームコミュニケーションと組み合わせることで、これはあなたが言及する多くの欠点を防ぎます。
-rsp

1
あなたは非常に間違っています、例えば:上書き -これはバージョン管理の問題ではなく、逆に、それを検出するのに役立ちます。VCシステムは、テキストファイルの変更された行のみを保存します。-gitの場合はfalse。
-maaartinus

4

私はそれなしで仕事をすることを拒否します。つまり、プロジェクトに関わるすべての人もそれを使わなければなりません。それはちょうど良い習慣です。

それは素晴らしい姿勢で、「私の仕事じゃない!」:-)

バイインを取得する最良の方法は、TortoiseGitやTortoiseSVNなどを使用して、バージョン管理をエクスプローラーに統合することです(Windowsを想定)。バージョン管理のパラダイムに慣れていない場合、真の利点を確認するには時間がかかります。少なくともTortoiseを使用すると、マウスでVCSを簡単に操作できます。単純な「右クリック->チェックイン」だけで十分です。

このため、ファイルを閉じるたびにTortoiseGitで透過的なバージョン管理を実装することを検討してきました。誰かに作業用のブランチを与えてから、すべての書き込み/クローズがコミット操作になると、開発者はある時点でリポジトリ全体の一貫性を気にせずにブランチをマージでき、バージョン管理について知らなくても、彼らがしていることをするビジネス。

私は人々にバージョン管理をさせることができない膨大な監査文書のセットでこの同じ問題を抱えているため、同じ文書の50のバージョンが微妙に異なって浮かんでいます。


4

これにアプローチする方法はにあるセットアップビルドシステム(のようなハドソン使用しています)ビルドソースを取得するために、バージョン管理システムを、それだけでプロジェクトのルール作りのアーティファクトされているビルドシステムによって提供さは、テストチームに入る予定があり、最終的に顧客サイトに展開されました。

プロジェクトプロセスに関する限り、ビルドから来ないものは開発者のみに限定されることを明確にしてください。誰かの作品がビルドに受け入れられない限り、それは存在しないかもしれません。


2

利点を説明します。

  • 全員が仕事を共有して中央の場所にアクセスできるようにすることで、時間を節約できる方法を示します。
  • デザイナーがプロジェクトのさまざまな部分で同時に作業し、一緒にマージできるようにする方法を示します。
  • テストやトラブルシューティングのために、古いバージョンのアプリケーションをタグ付けしてビルドする方法を示します。
  • 実験のためにデザインをいじる方法を示し、プロジェクトを更新します。不要な場合は変更を保持しません。
  • 時間の経過とともに何が起こったかを見る方法を見せます。

1
-1これは、プログラマーではない人を引き付けることに関するものでした。リストはプログラマを対象としています。あなたがあなたの答えを変更した場合、私は確かに...ダウンの投票を削除します
アーロンMcIver

1
「プログラマー向けではない」部分を見逃したと思います。あなたが言及したタスクはすべてプログラマーのタスクです。
エリックFunkenbusch

申し訳ありませんが、タイトルではなく質問を読みました。答えを編集します。
jzd

1削除しました...
アーロンMcIver

1

バージョン管理に関する「私の仕事ではない」というのは、プログラマーでない人からの正気の態度です。

Dropboxは同期用、Time Machineはバックアップ用であるため、バージョン管理システムをシンプルで見えないように構築します。

うまくいくはずです。チェックアウトもコミットもありません。プロジェクトフォルダにファイルを配置するだけです。


1

私は新しいウェブサイトの女性でtortoiseHG / mercurialを使用していますが、問題ありません。チェックアウトがないと、非常に簡単になり、実際にファイルが同期されていることを確認する必要がある人にプレッシャーがかかります。「もう1つやるべきこと」とは思えませんが、「OK、Webサイトをデモしますので、変更を再同期するようにピーターに依頼する必要があります」。それは問題ありません。

以前Mercurialの経験がなかったので、VSSを使用していましたが、Webサイトのソース管理のために誰にもそれを望みませんでした。私は一度試してみましたが、それを使いたくないと誰も責めません。


0

私は亀*クローンの使用を言うでしょう、それはそれがより簡単です。または、バージョン管理をIDEなどに統合します。

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