1

ソロプロジェクトで初めてgitをインストールしましたが、バージョン管理なしで長い間どのように生活していたのかわかりません。GUIが役立つかどうかを確認したかったのですが、問題があります...

  • 私の開発マシンはWindowsを実行しています
  • プロジェクトはLAN上のヘッドレスLinuxサーバー上にあります
  • プロジェクトディレクトリはsambaを介して共有され、WindowsPCのネットワークドライブとしてマップされます
  • このサーバーを使用しているのは私だけなので、リポジトリをWindowsPCに複製する必要はありません。
  • SSH経由でgitを使用する場合、これはまったく問題になりません

これまでに試したGUIgitクライアントはすべて、インストールしているマシンでgitを実行していることを前提としています。Linuxでホストされているリポジトリをwidnowsがインストールされたgitで操作しようとすると、糖蜜のように遅くなり、互換性の問題があるようです。

これをsmartgitで機能させる方法はありますか?または他のまともなクライアント?

私はgitwebをインストールしました。これは、プロジェクトの履歴を調べるのに十分なようですが、実際には何もできません。

編集:この質問を広げて、進め方についてアドバイスを求めることができれば、つまり、それを吸い上げて、視覚化のために他の何かと一緒にPuttyを使用するか、リポジトリのクローンを作成してプッシュ/プルするか、svickのような別のことをしてくださいXサーバーの提案。

4

4 に答える 4

7

さて、私は自分の答えを虚栄心ではなく明確にするために正しいとマークし、同様の苦境に陥った誰かを助けることを願っています。誰も気分を害しないことを願っています。

ちなみに、実用的なソリューションを思いついた後も、開発にはSSHとドライブにマップされた共有Linuxディレクトリを使用することになりましたが、Windowsマシンにローカルの場所を用意して、実用的なリポジトリを配置すると便利です。GITは、私にとっては窓の糖蜜のように遅いので、できるだけ使用しないようにしますが、それは私だけです。

あなたのbash-fooが私のように弱い場合、webminは以下を助けることができます。だからこれが私がやったことです:

概要:

  • Webベースのプロジェクト(私の場合はLAMPスタック)
  • ソロ開発者
  • 1開発に使用されたWindowsPC
  • スタックとプロジェクトをホストする1台のヘッドレスLinuxサーバー

目的:

  • Windows PCでローカルに動作するリポジトリを設定して、動作するスタック全体を作成したり、コミットしてプッシュしたりすることなく、gitGUIクライアントなどを効率的に使用できるようにします。Windows上のPHPは(はい、はい、通常よりも多くのhar har)、他の多くのことを行います。

ソリューションの利点:

  • WindowsマシンでLAMPスタックを複製したり、データベースをねじ込んでローカルリポジトリを機能させる必要はありません。
  • コミットしたりプッシュしたりせずに、変更をリアルタイムでプレビューします

ソリューションの欠点:

  • ローカル(Windows)リポジトリは、コンピューターがネットワーク上にある場合にのみ機能します
  • ここで起こっていることのループのような性質のために、ネットワークの遅延が少し見られる場合があります

前提条件:

  • WindowsマシンとLinuxマシンの両方の静的またはMACベースのIP
  • Linuxボックス上のgit、BIND、Samba、Apache(または同様のもの)
  • Windowsボックス上のSSHクライアント(Putty?)、msysgit、選択したgit GUI(gitextensions / smartgit / gitgui)

何をすべきか:

  1. リポジトリのWindowsボックスに共有ディレクトリを設定します
  2. このディレクトリをLinuxボックスにマウントします
  3. 2つのドメイン(例:myproject.linとmyproject.win)のLinuxボックス自体のIPをBINDにポイントします-(偽のTLDについてはお詫びしますが、ここでは独自の裁量を使用してください)
  4. LinuxボックスをWindowsボックスまたはネットワークルーターのDNSリゾルバーにします
  5. Apacheで2つのドメインベースのサーバー(上記のもの)をセットアップし、それらを適切な場所に転送します(例:'/ mnt / windows-pc/myproject'および'/var / www / myproject')
  6. 明らかな理由で、アプリケーション構成が相対パスをマップできることを確認してください
  7. Samba-Linuxリポジトリを共有し、便利なようにWindowsネットワークドライブとしてマップすることもできます
  8. LinuxボックスのリポジトリをWindowsディレクトリに複製します
  9. 必要に応じて変更をLinux共有プロジェクトディレクトリにプッシュバックします

ここで説明がほとんど必要ないことをさらに複雑にするために、(簡略化された)図を示します。 パンツと関係があると思います

于 2011-07-03T05:20:31.837 に答える
3

このサーバーを使用しているのは私だけなので、リポジトリをWindowsPCに複製する必要はありません。

実は必要があるようです。リポジトリをローカルリポジトリのように高速にしたい場合、最も簡単なオプションは実際にローカルリポジトリを作成することです。

もう1つのオプションは、XサーバーをWindowsマシンにインストールし、SSH経由のXトンネリングを使用してLinuxサーバーでgit GUIを実行し、Windowsでは表示することです。

于 2011-07-02T01:54:44.753 に答える
1

DVCSの優れている点は、ローカルマシンにリポジトリのローカルコピー全体を取得できることです。gitの場合、クローンを作成するか、(少なくとも)リポジトリをローカルに格納することをほぼ想定しています。

さて、クローンを作成するのは理想的ではないとおっしゃいましたが、実際には、GUIを有効にするには、リポジトリがローカルにある場所で実行する必要があります。

ワークフロー/セットアップに応じて、これは実行可能または実行不可能な場合があります。これが私の提案です:

  1. 開始するのに莫大な時間の投資がかかる場合でも、ローカルワークステーションにXAMPPをセットアップします。
  2. リポジトリを取り込み、Linuxステーションをリモートとして追加するか、(理想的には)gitoliteのようなものをセットアップします
  3. ローカルで開発します。それを「アルファ」ステージと考えてください。ここで追加のメリットが得られます。基本的にアプリ全体を台無しにすることができ、ライブにはなりません。そしてあなたのGUI!
  4. git pushリモートリポジトリに、そしてta-daがデプロイされました。

さて、あなたがリソースを持っているなら、これに実際に入るいくつかのより良い方法があります、そして私は他の投稿でそれらを詳述しました。繰り返しになりますが、このようなことを柔軟に行うことができる場合は、それを強くお勧めします。それが過激すぎる場合は、自分がしていることをコースにとどまらなければならない可能性があります。お役に立てれば。

PS:私はソロ開発者でもあり、バージョン管理のセットアップに多くの時間を費やしています。報われました!

于 2011-07-02T03:47:47.020 に答える
0

同等の構成があり、ターゲットLinuxボックスでクローンを実行します。ただし、Windowsのsshを使用してヘッドレスLinuxボックスでも開発しています。Win7/64でXmingを実行しています。したがって、このアクティビティでは、WindowsボックスはほとんどX端末にすぎません。

Linuxボックスにgnome-terminalをインストールしました。これは、Windowsコマンドウィンドウで実行されるputtyまたはxmingwbashに満足していないためです。

完璧ではありませんが、実行可能であることが証明されています。

于 2011-07-02T04:08:23.363 に答える