0

redditでも質問しましたが、ここでも質問して賭けをヘッジしています。

リモートの非ベア リポジトリをローカル リポジトリのように扱う必要がある従業員がいます。この従業員は、分岐、コミット、およびマージできる必要があります。いくつかの合併症があります。

  • 従業員は Windows を使用しています。
  • 従業員は git の表面的な知識しかなく、使いやすい GUI を介してすべてを実行できる必要があります。
  • 従業員は、非常に不安定なインターネット接続を介して自宅で働いています。

良い解決策は、sshfs を使用してリモート リポジトリを「ローカライズ」し、任意の git GUI がそれをローカルであるかのように扱えるようにすることだと思います。しかし、これが月の満ち欠けに応じて定期的に出入りするインターネット接続と互換性があるかどうかはわかりません。

さらに、シニア エンジニアは、sshfs の「ハック」を使用するよりも、リモートの非ベア リポジトリを管理するためのサポートが組み込まれている GUI クライアントを見つけることを好みます。残念ながら、それは SourceTree を除外することになり、問題の従業員の好ましい選択です。

実際、これは 2 つの質問を 1 つにまとめたものです。

  1. sshfs が、変更の頻度が低く、接続が不安定なユースケースに適さない理由はありますか?
  2. この組み込み機能をサポートする Windows 用の git GUI クライアントはありますか?
4

1 に答える 1

0

git フックを使用して問題を完全に回避する別の解決策があるようです。reddit のコメントに貼り付けます。


次のように、これを git フックで解決することになるようです。

  • /srv/git に裸のリポジトリを持ち、従業員の ~ ディレクトリに裸のリポジトリを持たない
  • 従業員はローカル リポジトリで作業し、リモートのベア リポジトリにプッシュします
  • リモート ベア リポジトリの Git フックは、次のことを行います。
    • cd ~name/$レポ
    • git フェッチ --all
    • git checkout origin/$branch
  • したがって、作業ディレクトリは常に、最後にプッシュされたブランチの最新のコミットです。
  • 従業員にとっては、SourceTree の「プッシュ」ボタンを押すのと同じくらい簡単です。すべての魔法はサーバー上で発生します。
于 2014-07-25T21:07:39.260 に答える