• 締切済み

githubについておしえてください

デザイナーです。 バージョン管理システムを導入しようと思い、githubを今試している所です。 git自体どういうものかがようやくわかってきた所で実際にどうすればいいのか分からない点があります。 サイトを運営していて、本番環境とローカルテスト環境があるのですが、 どのようにgithubと連携させればよいのかわかりません。 ローカルテスト環境である程度作ってからgithubのリポジトリにコミットした後、 どうやって本番環境に反映させるのでしょう。 (そもそもすでに手順が間違っているのでしょうか) また、複数人でいじる時はそれぞれにローカル開発環境を用意させる必要があるのでしょうか。 よろしくお願いします。

みんなの回答

回答No.1

> ローカルテスト環境である程度作ってからgithubのリポジトリにコミットした後、 > どうやって本番環境に反映させるのでしょう。 本番環境側でgithubのリポジトリからpullするのが一番簡単だと思います。 真面目にやるならば各種デプロイツールを使うことになると思いますが……。 > 複数人でいじる時はそれぞれにローカル開発環境を用意させる必要があるのでしょうか に関しては,私は「はい」と答えます。 複数人で物理的に同一のファイルを弄った場合,最後の一人を除いてやったことが上書きされることになります。 また,「作業中」で作業が一段落していない状態でも確認をする必要があることは多いと思います。 この場合に,個々に開発環境を持っていれば,他人の作業の影響を受けず,また影響を与えずに確認することができます。 もちろん,マージを必要とし,衝突の起こる可能性は発生してしまいますが。 最近だと,Vagrantで仮想環境の設定を簡単に配布できるため,以前に比べて楽になっているとは思います。 ちゃんと設定をすれば本番環境と構成を一致させることができるため,ローカルと本番でパスが違う,などの状況になることもありません。

関連するQ&A

  • 既にローカルPCにあるフォルダをGitHubと連携

    既にローカルPCにあるディレクトリをGitHubと連携させる方法を教えて下さい。 いろいろ検索してみましたが、今のところ、どのGitHubチュートリアルサイトも $ mkdir ~/git-sample # ディレクトリの作成 $ cd ~/git-sample # 指定ディレクトリへの移動 $ git init # リポジトリ作成 ・・・のように、新規でディレクトリを作成してからgit initしています。 そうではなくて、既にあるディレクトリの中でgit initしても大丈夫ですか? また、その中に既にあるすべてのファイルをGitHubにステージングしてコミットする方法を教えて下さい。

  • githubソフトウェアでPCローカルコミット

    githubの公式サイトでダウンロードできるソフトウェアについてですが、このソフトではgithubサーバから自分のPCにクローンしたプロジェクトを編集などを行った際に、それをローカルのリポジトリにコミットとかする機能はありますでしょうか? 現在プロジェクトを編集したらそれをコミットを行うとgithubサーバーにのリモートリポジトリに直接コミットするような動作の機能しか見当たらないような気がするのですが、どうぞご教示いただきますよう宜しくお願い致します。

  • gitでsvnのリポジトリにコミット相当の機能

    現在githubをしています。githubサーバーにプロジェクトのリポジトリを作成して、githubのアプリケーションで自分のPCにローカルリポジトリを作成して、そこでプログラム修正を行ってコミットなどを行っていき、大体の修正が終わったので、githubサーバーのリポジトリに対してSVNのマージのようなことをしたいと思います。 このローカルのリポジトリの内容をgithubサーバーのリモートリポジトリの内容にマージするような内容をgitではなんという機能でできるのかご教示頂きますよう、よろしくお願い致します。

  • [github]リモートリポジトリを過去に戻したい

    現在、gitでのバージョン管理を勉強中です。 自分の知識では、どうしても解決できないため、 申し訳ありませんが、git の運用をされている方に助けて頂きたいです。 githubをリモートリポジトリの場所として指定しています。 リモートリポジトリに間違ってpushをしてしまいました。 また、そのpushした物が大規模な間違いでした。 したいことは、ローカルリポジトリを過去のバージョンに戻すことではなく、 githubにあるリモートリポジトリを過去のバージョンに戻したいです。 戻すブランチはmasterではなく、masterからブランチした、 developというブランチを過去のバージョンにしたいです。 どなたか力を貸して頂けないでしょうか? また参考になるURLがあればよろしくお願い致します。

  • ITについて質問 認識が合っているかどうか

    IDEとgithubについて質問です。IT初心者すぎて違いがよくわかっておらず確認の質問となります。 IDEは統合開発環境で、テキストエディタなど開発する上で必要な機能を備えたソフトウェアで動画制作業界でのアドビプレミアのようなものを指し、githubは完成したソフトウェアをアップロードする、動画制作業界界のyoutubeみたいなイメージを持っています。 作業の流れについては IDEで、プログラミングに必要な環境を構築 IDEを使用して、コードを作成・編集 Gitを使用して、コードをコミット GitHubにリポジトリを作成して、コミットしたコードをアップロードし公開する といった流れを想像しています。 これらの認識に間違いないでしょうか? よろしくお願いします 25

  • 一人でもGitする価値は?

    主に一人でソフト開発している者です。 現在は、Subversionを使ってソース管理していますが、Gitが良いという話をよく聞くので乗り換えを考えています。 リモートとローカルのリポジトリの使い分けをざっくり理解したところ(だと思う)ですが、一人での開発だとGitでもSubversionでもあまり変わらないのかな?、新しい操作やコマンドを覚えるだけで終わってしまうのかなと思うと、なかなか踏ん切りがつきません。 そこで、一人で使ってもGitだとこんなことが便利とか出来るという利点があれば教えて下さい。 ちなみに、現在は開発PCは2台あり、同じプロジェクトの違う部分を別々に同時進行で修正・追加することがあります。 また、コミットの周期は短いほうだと思います。コンパイルが通らない状態でも今日の変更点のバックアップをする感覚でコミットすることもありますし、一方のPCから他方のPCへ変更点を移すためだけにコミットすることもあります。 ですので、リポジトリは汚れ気味です。ホントは、修正・変更のキリの良いタイミングだけをリポジトリに残したいのですが、Gitならそういう運用が可能でしょうか? 識者の方、ご意見をよろしくお願いします。

  • 一般的なLAMPでの開発環境・手順を教えてください

    今までWAMP(windowsサーバー、Apache、MySQL、PHP)での開発が多かったため、 LAMPでの一般的な開発手順がよく分りません。 WAMPの時はこんな感じでした。 1.ローカルPCに本番と同じ環境を構築(SVNからチェックアウト(更新)) 2.ローカル環境で開発、テスト 3.エクスプローラーから開発サーバーにアクセス、ローカルのソースで上書き 4.開発サーバーでテスト、SVNにコミット 5.リモートデスクトップで本番サーバーにアクセス、SVNからチェックアウト(更新) 6.本番サーバーでテスト LAMPだとどうなりますか。 こんな感じでしょうか? 1.ローカルPC(windows)に本番と同じ環境を構築(SVNからチェックアウト(更新)) 2.ローカル環境で開発、テスト 3.WinSCP、FFFTPなどのソフトで開発サーバーに繋いで、ローカルのソースをアップ 4.開発サーバーでテスト、SVNにコミット 5.Tera Termなどのソフトで本番サーバーに繋ぎ、コマンドでSVNからチェックアウト(更新) 6.本番サーバーでテスト 一番不明なのは、3の部分でして、 Linuxサーバーに置いてあるソースをいじるには、以下の方法しかないのでしょうか? ・FTP接続が可能な場合、FFFTPなどのソフト経由 ・FTP接続が不可能な場合、WinSCPなどのソフト経由 ・Tera Termなどから、テキスト編集コマンド(viなど)で直接編集  ⇒ファイルをアップするっていうことをコマンドからはできないんでしょうか。 ごくごく一般的な開発手順を教えてください。

    • ベストアンサー
    • PHP
  • gitを使い始めた初心者です

    gitにはリモートリポジトリとローカルリポジトリがありますが、 疑問があります。 ①gitはブランチ作成元の情報を持っていますか?  ブランチを作成した後、何度かコミットしたとしてもブランチ作成元からの変更差分一覧を見れるのでしょうか? 前回のコミットからの差分は見れているのですが・・・。 ②ローカルで作成したブランチとリモートとの関係が分かりません。  たとえば、ローカルで田中部長アホという名前のブランチを作って変更を加えた場合、プッシュしたときに田中部長アホがリモートに作成されるのですか? もし、作成されない場合、私の変更はどこにプッシュされるのですか? (ローカルのブランチ名は他人にはばれないのですか?)

  • gitを使っている人に質問です。

    gitでソース管理をしています。 gitではファイルをコミット、プッシュする用のリポジトリフォルダと、自分がローカルで作業する用の普通のフォルダ、2種類のフォルダで作業せよと教わったのですが、そうなんですか? 「Project」というフォルダを、リポジトリとしているとします。 そのコピーを「Project2」とし、ローカルでのファイルの修正はそこですると。 で、自分の修正が終わってコミット、プッシュする前に、 「Project」を最新にするためにそこで同期、プルを行います。 その後で「Project2」の中の自分が修正したファイルを「Project」の中に上書きし、その後にコミット、プッシュする。 そういう流れなんでしょうか? 滅茶苦茶分かり辛いのですが。 同じプロジェクトファイルが2つもあるなんて、ごちゃごちゃになりそうです。 上からはそういう風に指示されたけどそんなの面倒なので、「Project」の中のファイルをダイレクトに修正していました。 んでプッシュしようとしたら失敗しました。 別の人が、自分のと被らないファイルを修正したようでした。 ここで、自分がもしそのファイルを最新にせずにコミット、プッシュをしたら、自動でマージしてしまうか、私のローカルにあった古いファイルで上書きしてしまうのでしょうか??? 自分が修正したファイルだけをアップするんじゃないんですか? SVNやVSSならそうだったはずです。 GIT、意味不明です。 GITに反対します。 ご意見をよろしくお願いします。

  • Subclipseを用いた開発方法について

    最近会社でSubclipseを利用した開発を始めました。 最初はうまく言っていたのですが、同期化せずにコミットした際に 他のユーザーが変更したデータを無視して、そのローカルのデータのみが リポジトリに反映されてしまうという事態が発生しました。 いろいろ調べましたが原因がわからず、それ以来コミットする際には 同期化を義務付け、さらに念のために開発をしているユーザー全員に宣言してから コミットするようにしています。 ですが、やはり不便で仕方ありません。何かよい手立てはないものでしょうか??

専門家に質問してみよう