2009-09-12 7 views
19

ホームフォルダ内のコードプロジェクト用の個人用ワークスペースをどのように整理しますか?そして、複数のプロジェクトを同時に処理するためには、ワークスペースをどのように効率的に保ちますか?コードワークスペースとホームフォルダをどのように整理しますか?


私の質問の最も重要な側面は上記です。トピックの特定のサブパートに対処しない限り、読み上げを停止することができます。以下は、ワークスペースの編成に関するさまざまな関連の質問です。それらのすべてに対処する必要はありません。以下の関連する質問の一部に対する部分的な回答まで聞いてください。

この質問は主にUNIXとOS Xの文脈にあります。Windowsベースのユーザーは提案をすることができますが、私は主にUNIXのウィンドウではなくホームフォルダとコマンドラインの規則に興味があります(cygwinを使用しない限り)。

特に、複数のコードプロジェクトを同時に管理する場合、どのようなフォルダ構造が役立つと思いますか?また、さまざまなオープンソースコードプロジェクトをダウンロードしているときに、ワークスペースを混乱させることなく、さまざまなソースツリーを整理しておく方法を教えてください。

特に、プロジェクトをコマンドラインから簡単にアクセスできるようにするためのヒントやヒントは、特定のプロジェクトに専念する必要があるときに邪魔にならないようにするためのものです。

さまざまなソースリポジトリを整然と保つのに便利な便利な規則はありますか?特にgitでは、異なるブランチや関連するリポジトリをどのように整理しておくのですか?作業コピーを吹き飛ばし、ソース管理から完全に更新することはしばしばありますか?あなたは何を周りに保持し、なぜですか?また、特定のプロジェクトに自分のホームフォルダ構造にマップする必要のあるパス依存性が多い場合、ネームスペースとパスをどのように処理しますか?

binフォルダと共通ライブラリはどうですか?さまざまなプロジェクト(PHP、Ruby、Perl、Webサーバー、コンパイラなどの異なるバージョン)の潜在的な開発環境をたくさん作成する必要がある場合、これをどのように管理しますか?

シーズン中のsysの管理者には、何がうまくいくのか、何がうまくいかないのでしょうか?

どのようにできるだけシンプルに保ちますが、あまり単純ではありませんか?

あなたは一度に複数のプロジェクトを作業するのに最も柔軟性がありますか?

プロジェクトをワークスペースから日常的に移動し、ソース管理から再インポートしますか?プロジェクト環境をあまり頻繁に再現する必要性を減らしつつ、いかさまの蓄積を防ぐにはどうすればよいですか?

過去のプロジェクトで得た貴重なソースコードや組織の効率性を損なうことなく、空白のスレートで作業を開始できるように、ワークスペース全体をクリーンアップしたり吹き飛ばしたりするにはどうすればよいですか?

+1

あなたが書いたほとんどすべての文章は疑問符で終わります。あなたの投稿を管理しやすい質問に凝縮することをお勧めします:) –

+2

この投稿はコミュニティのwikiの良い候補者かもしれません。 – Amber

+0

チャットルームの質問は「あなたはgitを使ったことがありますか?」という答えが「いいえ」でしたので、私のように「あなたのレポを吹き飛ばす?それが理由です。ちょうど私が彼を明確にすると思った。 – jcolebrand

答えて

12

私は私の主なウェブサイトの名前を付けられた特別なディレクトリに自分自身を書きました。議論のために「ジャグリング」と呼ぶことにしましょう。私は〜/ juggle/software /の中に、私が書いたプロジェクト(通常gitで管理している)と〜/ juggle/websites /の下のサブディレクトリであり、その下には、生のhtmlなどの各ウェブサイトドメインのサブディレクトリがあります。 webgenやstaticmaticのように。

私はそれらの間をジャンプするのを助けるために、私は 'apparix'を使用して、bashに非常によく結びついています。だから今、私は私がダウンロードしたソフトウェアについては、この

$ to wolfsbaen 

を行うことができ、どこからでも

$ cd ~/juggle/software/wolfsbaen 
$ bm # bookmarks this with apparix 

、私は〜/ソフトウェア/及びその内側にあります。

  • アーカイブ - ダウンロード保つためにソースtarballs
  • ドキュメント - ダウンロードしたHTMLドキュメントとPDFブックのダウンロード
  • hack-f彼らのアンパックディレクトリ
  • サブバージョン内で実行することができますbashの/ Pythonの/ Rubyプログラムのために - 私は協力するが、
  • 簡単な自分自身を開始しなかったプロジェクトのために - 新しいアイデアやソフトウェアライブラリ
  • プロジェクトをしようとするか、使い捨てのプロジェクト - すべてのリビジョンコントロールチェックアウトのために:CVS、SVN、Gitは、HGなど
  • アンパック - アンパックtarボールのために、私は彼らに

をコンパイルする前に、私はまた私が書く便利なスクリプトのために〜/ binがあり、使用して自分自身を見つけますすべての時間。これを〜/ .bashrcのPATHに追加します

残りの質問は本当に私にはあまりうまくいかないと思います。ただし、gitを使用すると、私のワークスペースを爆破する必要はほとんどありません。作業ディレクトリで新しいブランチを作成し、突然ブランチを切り替えなければならない場合は最近の変更を隠します。また、私はすべての私自身のソフトウェアやウェブサイトのソースの裸のリポジトリのクローンを維持します。これに

$ git clone --bare . /srv/git/wolfsbaen.git 

I「Gitのプッシュ」のすべての作業フェーズの終わりに。これにより、/ srv/gitはバックアップのための明白な選択となります。私は組織のシステムで私自身の経験を共有したいと思い

+0

ありがとうキャサール。私はgitを掘っている。ここでのワークフローは私には大変意味があります。そして、「apparix」のチップに感謝します。私は、コマンドラインでブックマークをする方法が不思議だった。それは私のsys管理者の友人に質問する意味を持っている質問に答えます。 –

+0

キャサール、私はOS XでApparixをセットアップする際に問題を抱えています。グーグルがあなたの答えに私をもたらしました。クイックガイドを書いてもいいですか? –

3

私はすべての質問に答えません。しかし、私はSVNを使用していると言いますが、私はプロジェクトのための慣習に従います。だから私はというフォルダがあります。

d:\development 

そして、その内側に、すべての私のプロジェクトは、サブフォルダ(多分20かそこら)のとおりです。いずれも、

\trunk 
\branches 
\tags 

です。それだけです。私はここで私のサーバー(とメディアセンター:P)で家に2番目のマシンを持って、それに私はSVNをApacheで実行していると、trac、それぞれのタスクやバグを管理する。また、ビルドにはCC.netがあります。

3

あなたのコードプロジェクトのワークスペースを ホームフォルダにどのように整理しますか?

UNIXyのところまで〜/ devの下にプロジェクトフォルダを配置します。私は通常、Subversionから何かをプロジェクトフォルダにチェックアウトすることになります。

複数のプロジェクトを一度に処理できる柔軟性は何ですか?

Webプロジェクトの場合、Apache name-based virtual hostsのセットを維持することは、複数のプロジェクトを同時に処理する場合に非常に便利です。 http://foo.localhost/は〜/ dev/foo/public、http://bar.localhost/ - >〜/ dev/bar/publicなどを指すことができます。

GNU Screenも私のローカル開発ワークフローにとって重要です。ギアを別のプロジェクトに切り替える必要がある場合は、Ctrl-a、cを押し、使用する新しい独立端末を用意します。

+0

私は主にOS X上でMAMPを使用してきましたが、名前仮想ホストについてのあなたのヒントは大変です。 –

1

(質問があまりにも古いですが、私はこれは誰か、私はより良い提案を得る可能性がありますに役立つかもしれない願っています)

私はLinuxディストリビューションを変え続ける、時にはウィンドウを使用作業用。そこで私はHDDを4つのドライブに分割しました。

  1. のlinux
  2. メイン
  3. それは両方にアクセスできるように余分な1


すべての私の仕事は、NTFSである第三ドライブに行きますWindowsだけでなく、Linux。 (linuxにこのドライブをマウントするときにファイルのパーミッションを混乱させないためには、fstabの設定が必要かもしれません)。今このドライブで、私は次のフォルダを置く。

  • 文献
    • Iが格納されている全ての文書(例えば書籍、ホワイトペーパーなど)
  • 写真
  • 音楽
    • プレイリスト(現在使用してバンシー)
  • 作品
  • 作業
    • offic電子
      • オフィスプロジェクト1
      • オフィスプロジェクト2
    • 個人
      • パブリック(私はgithubの上で公開され、大部分のプロジェクト)
        • 個人的なプロジェクト1
        • 個人的なプロジェクト2
      • プライベート
        • 個人的なプロジェクト3
        • 個人的なプロジェクト4
    • リソース
      • ほとんどはgithubのか、他のソースコードからダウンロードしたレポ取引または関連するもの
    • スクラッチ基本的にすべてが、私はどこに置くかわからない、または私は急いでいます場合には最初にここに行きます。後で必要に応じて並べ替えます。
    • また、このディレクトリには、頻繁にアクセスするさまざまなディレクトリにソフトリンクを設定します。その理由は、私はその後、私は余暇時間
    • にこのフォルダを掃除維持
    • を削除し、私はすでに取り組まなく、いつかのために周りに保つために肝炎Desktop
  • ダンプ
    • 物事としてscratchフォルダを設定し、あります私がmultiからアクセス
  • Dropboxの
    • いくつかのことデバイスはドロップボックスに保存されます。しかし、Dropboxプライバシーの問題のために、私はそれにすべてを格納することができません。そして、私はまだこのための理想的な解決策を見つけ出しています。私は自分のサーバー上でopensource dropboxの選択肢を実行しようとしましたが、それらをhasselで維持していました。(私も第3世界の国のひとりで、何度もグリッドから外さなくてはいけません)
    • 現在、私は好きな引用符や本のようなものを保存するために簡単なWebアプリケーションを公開しています。また、私は仕事のときに多くのメモを取る。今のところ、私はそれらをDropboxに格納していますが、すぐに私はそれらをアプリケーションに移動します。私が最初に私が主駆動フォルダとセットアップDropboxにデフォルトのフォルダやデスクトップ、音楽、文書などのようなブックマークの場所を変更するには、新しいOSをインストール

。デスクトップとしてスクラッチフォルダを設定しました
設定ファイル(エディタ/シェルなど)では、メインドライブ/ドロップボックス/ドットファイルを使用できます。
また、私はzsh/vim/emacsを使っていくつかの興味深いプラグインを使用してより生産的にしています。

関連する問題