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

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

新規登録して質問してみよう
ただいま回答率
85.47%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

3199閲覧

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

退会済みユーザー

退会済みユーザー

総合スコア0

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

1グッド

2クリップ

投稿2017/04/03 02:45

編集2017/04/03 06:02

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

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

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

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

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

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

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

KiyoshiMotoki👍を押しています

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KiyoshiMotoki

2017/04/03 05:53 編集

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

退会済みユーザー

2017/04/03 06:02

追記いたしました。
guest

回答2

0

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

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

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

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

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

投稿2017/04/03 03:40

taqm

総合スコア65

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/04/03 07:21

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

0

ベストアンサー

ローカルに開発ユーザーがファイルを上げて、という言い方に違和感がありますが…
もしかして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 03:04

編集2017/04/03 07:11
haru666

総合スコア1591

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/04/03 07:19

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問