質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.10%

[Git]編集は複数人、Pushは一人で行う方法?(ローカルサーバで共有も)

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 2
  • VIEW 1,743
退会済みユーザー

退会済みユーザー

いつもお世話になっております。
良いタイトルが思い浮かばず支離滅裂になっていることをお許し下さい。
また、初心者ですので用語の使い方等間違っているところがあればご指摘お願いいたします。
今回はGitについてお聞きしたいことがございます。

現在、他社様のPHP案件を行っており、Gitを利用したバージョン管理を行っております。
シンプルにリモートから作業しているマシンへクローンする、という使い方をしているのですが
弊社内で開発人員を足すという話や、弊社での動作確認を行うという話が出ており、
それに伴う環境の構築が必要になってきました。

下記を満たす構築方法がなかなか思い浮かばず、質問した次第でございます。
そもそもこういう方法は取るべきではないのかもしれませんが・・・

1.Pushする前に社内サーバで動作確認をできるようにする。
2.社内で複数人開発を行えるようにする。
3.リモートリポジトリにPushするのは担当者(私)のみ。

※ 上記はすべて外注元の担当者様に了承を得ております。

イメージ説明
初めはこのような形を取ろうと思ったのですが、実際どう組めばよいかわからず・・・
(ローカルに開発ユーザがファイルを上げて、ローカルからリモートへPush?)
何か良い方法がありましたらご回答をお願いいたします。

// 追記
Gitホスティングサービスで構築されたものかどうかについてですが、わかりません。
現在はsshから始まるURLを教えていただき、それをSourceTreeでクローンしています。
(ドメイン名も見たことのないもので、直接踏んでもForbidden)

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • KiyoshiMotoki

    2017/04/03 14:52 編集

    「リモートリポジトリ(別サーバ)」が(Github や BitBucket などの)Gitホスティングサービスで構築されたものであれば、それを追記してください。それによって、構築する環境の構成が変わってくる可能性があると考えますので。

    キャンセル

  • 退会済みユーザー

    退会済みユーザー

    2017/04/03 15:02

    追記いたしました。

    キャンセル

回答 2

checkベストアンサー

+2

ローカルに開発ユーザーがファイルを上げて、という言い方に違和感がありますが…
もしかしてGit使うの自体初めてですか?

とりあえず、簡単に思いついたやるべきことリストを書いておきます。

・社内にGitBucket等のサーバーを立ててそちらで開発作業を行う
・Pull Request、使ってなければ使う
・Jenkins等で社内Gitサーバーからメインブランチの自動ビルドを行う
・必要なら手作業でビルドされたものをチェックする
・社内サーバーからリモートリポジトリにPushする

こんなところですかね…

追記

やっぱり初めてっぽいので、それよりも前の段階についても書いておきます。
ただ外注でやったことが自分の方にもないので、先方に受け入れてもらう部分は勘です。

1.社内用のGitリモートサーバーを立てる。(これにGitBucket等を使うことを推奨)
2.受注で教えてもらったリモートサーバーから社内リモートサーバーにCloneする
3.全開発者のPCにGitをインストールする
4.開発者のPCは社内用のリモートサーバーからCloneして開発作業を行う
5.開発開始時にはCloneしたmaster(又はdevelop)ブランチから新しくブランチを作り、社内サーバーにPushする際にはPull Requestを利用する
6.社内リポジトリの最新状態で受け入れテストを行う(ここをJenkins等に手伝ってもらう)
== ここから勘 ==
7.単にPushする

または、リポジトリーで作業が競合する場合(誰かが本番環境を弄る場合)

7.リモートサーバーの状態が更新されているかもしれないのでrebaseする
8.リモートサーバーにPull Requestを投げる

…が、本来小さい修正なら正攻法ですが規模が大きそうなので、競合しないようにソリューションやgitリポジトリを分けてもらう必要があると思います。
被らないとしても、大きなマージが競合するようになると地獄を見るので。
とりあえず社内サーバーの扱い方になれてから、先方とPush方法については打ち合わせてください。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/04/03 16:19

    詳しくありがとうございます!
    上記のような形で先方と相談させていただくようにします。
    勉強になりました、今後もよろしくお願いいたします。

    キャンセル

+2

図を見たところローカルリポジトリを共有フォルダとして作業を行い、
push(& commit?)をmetal_raiden氏が行うということでしょうか??

もしそうなのであればGitの使い方を誤っているように感じます。
ローカルリポジトリ = 作業者単位という構成が正しいです。

Gitを使った運用手順は以下となるはず

  1. 作業用ブランチを作成 
  2. 作業ブランチに対して作業
  3. 作業ブランチへコミット(or push)
  4. 作業ブランチ→ masterへプルリクエスト
  5. masterへマージ

Gitの良さはローカルの作業がほかの人に影響を与えないことです。
どうしてもpushできるのがmetal_raiden氏だけなのであれば
Gitではなく別のバージョン管理をおすすめします

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/04/03 16:21

    社内で一度勉強会を開いて、今回回答していただいた内容をもとに
    再考してみます!回答ありがとうございました!

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.10%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる