俺もようやくGitを覚えようと思うんだが、色々ありすぎてどうすればいいか悩む。目的はローカルで開発しているWebシステム・サイトを一元管理して、テストサイトとかクライアントに納品する時にまとめて出力したい。どういった方法が一番ベストか教えてください。
自分の場合はこういう流れまずは作業前に納品のまとまり毎にブランチを作成↓各作業毎にコミット↓Push後、テストサーバーでPullして見せるテストサーバーにはGitを入れておく。(ここはhookを使えば自動化可能)↓作成したブランチ作成時からそのブランチの最後のコミットまでの差分を抽出して納品必要があれば、削除したファイル一覧も抽出して合わせて納品完了後、ブランチを本流にマージして削除
なるほど。思ったより大変なんだね。サーバも関係してくると、俺には難しそうだ
ブランチの切り替えは慣れると便利過ぎて元に戻れないけど、頭の悪い奴は確実に挫折するから気を引き締めてがんばれよ
難しそうなら、別にサーバーに入れなくてもローカルかネットワーク上で普通に使えばいいやん。
初心者ならとりあえずコミットとプッシュの2つから始めよう。とりあえずそこから。
最初からベストな運用方法できる事はまずないので、色々失敗してみる事オススメ。前コメさん見ると、今から始める所?俺は全く知らない状態だったけど、GitHubでフリーのレポ作ってみて試してみる所から入ったよ。Githubは使いやすいと思う。デスクトップのクライアントアプリも用意されている。(例: qiita.com/yukiyan/items/2ea3dc5813fdba5d9cd2 )でもプライベートだと金が掛かる。フリーでプライベートなレポ持つならbitbucket。今は、githubの有料サービス使って会社のレポをプライベートで運用している。Githubの"Webhook"という機能と簡単なサーバのPHPスクリプトを使って、同期したら自動的にテストサーバに反映させたり、うちではCSSフレームワークを公開しているので、新バージョンをリリースしたら自動でサイト更新してダウンロード版を作らせるみたいな事をしてる。Githubで最も助かっているのはイシュートラッカー。あれのお陰でかなり争いごとが減った(w)トピ主さんの質問からして、果たしてGitだけが必要なのか分からない。GitはGitで運用しておいて、gulpなども組み合わせた方がいいのではないかと。適当に面白そうなのを集めてみましたので、よろしければ参考に見てみてください。
Git の submodule を使ってみる: cartman0.hatenablog.com/entry/2015/06/06/210130
5分で導入! タスクランナーGulpでWeb制作を効率化しよう:ics.media/entry/3290
GitHubのリリース機能を使うqiita.com/todogzm/items/db9f5f2cedf976379f84
GitHubのwebhookを受け取って、自動でgit pullするスクリプトqiita.com/oyas/items/1cbdc3e0ac35d4316885
一応以前にBacklogとtortoiseGit使って試したことはある。が、挫折した。基本的な事は分かるものの、ファイル管理が難しい。コメ主のコメント見てるだけでも頭がクラクラする。難しすぎる。でも、開発環境にコピーでバックアップ取ったり消したりしていると、無駄なファイルが増えて、どれが必要でどれが不要か分かりづらくなる。そんなわけで、バージョン管理の必要性は感じてるんだけど、いまいち踏み込めないのが現状です。
なるべく簡単そうなのを選んで紹介してみたのですが、難しすぎますか。行った事は無いですが、勉強会などを試されてみるのは如何でしょう。例えば、connpass.com/event/43013/単にGit導入と言っても、Gitを使って合理化する色々とコツがありますので。ウチはまだ小さいですが、さっきサーバで調べてみた所、客の為に管理しないといけないファイル総数が6000でした。とうとう頑なにgitやタスクランナー導入を嫌がっていたデザイナーさんが根をあげたのが5000を超えたあたり。それまで一つ一つ丹念に手作業で根性管理してました。これでは作業ばかり増えて仕事ができず儲けるはずもありませんね。
なるほど。うちはお客さんのファイルをそれほど扱ってないけど、独自のWebシステム・サイト・テストデータがかなりある。数えるのが怖い。開発しているファイルとサーバで利用するファイルって異なるし、configファイルなんかは絶対書き換えないといけないもので、それをコピーしてsakura_config.php、lolipop_config.phpとかしてると何が何やらわからなくなる。(ま、一応ファイル名で送信先のサーバは分かるけど)とりあえず、もう少し調べます。丁寧なコメントありがとうございました。
なんとなく、凄い事になっている感じが伝わってきます。Gitとは言っても万能ではなく、どんなものを使うにしても、システム設計含めた全体から見直さないと管理が辛いと思います。。どうしようもなくなる前に早めに誰か詳しい方に相談される事をお勧めします。少し面倒でコストが掛かると思われるかもしれませんが、効果はすぐにでると思います。それでは、失礼いたしました。
まず、使い方云々より、Gitが何をするためのもので、どういう目的で使いたいかを設定することからかな。目的が定まっていないと何をやっていいのかわからないのは当然じゃないかな。
目的や基礎はわかってるつもりだ。が、その先が見えん。リポジットリやブランチをどう使いこなすかも分からん。
いや、だからそれは話の堂々巡りで、リポジトリやブランチの先にトピ主の目的がないから使い方が見えないってことだぞ。「Gitとは」の前に「バージョン管理とは」の学習が必要ってこと。
サンキュートピだな。
みんなの回答 4 件
自分の場合はこういう流れ
まずは作業前に納品のまとまり毎にブランチを作成
↓
各作業毎にコミット
↓
Push後、テストサーバーでPullして見せる
テストサーバーにはGitを入れておく。
(ここはhookを使えば自動化可能)
↓
作成したブランチ作成時からそのブランチの最後のコミットまでの差分を抽出して納品
必要があれば、削除したファイル一覧も抽出して合わせて納品
完了後、ブランチを本流にマージして削除
最初からベストな運用方法できる事はまずないので、色々失敗してみる事オススメ。
前コメさん見ると、今から始める所?俺は全く知らない状態だったけど、GitHubでフリーのレポ作ってみて試してみる所から入ったよ。Githubは使いやすいと思う。デスクトップのクライアントアプリも用意されている。(例: qiita.com/yukiyan/items/2ea3dc5813fdba5d9cd2 )でもプライベートだと金が掛かる。フリーでプライベートなレポ持つならbitbucket。
今は、githubの有料サービス使って会社のレポをプライベートで運用している。Githubの"Webhook"という機能と簡単なサーバのPHPスクリプトを使って、同期したら自動的にテストサーバに反映させたり、うちではCSSフレームワークを公開しているので、新バージョンをリリースしたら自動でサイト更新してダウンロード版を作らせるみたいな事をしてる。Githubで最も助かっているのはイシュートラッカー。あれのお陰でかなり争いごとが減った(w)
トピ主さんの質問からして、果たしてGitだけが必要なのか分からない。GitはGitで運用しておいて、gulpなども組み合わせた方がいいのではないかと。適当に面白そうなのを集めてみましたので、よろしければ参考に見てみてください。
Git の submodule を使ってみる: cartman0.hatenablog.com/entry/2015/06/06/210130
5分で導入! タスクランナーGulpでWeb制作を効率化しよう:
ics.media/entry/3290
GitHubのリリース機能を使う
qiita.com/todogzm/items/db9f5f2cedf976379f84
GitHubのwebhookを受け取って、自動でgit pullするスクリプト
qiita.com/oyas/items/1cbdc3e0ac35d4316885
Git-it - 手を動かしながら習得できる日本語対応のGit/GitHub学習アプリ
http://www.softantenna.com/wp/review/git-it/まず、使い方云々より、Gitが何をするためのもので、どういう目的で使いたいかを設定することからかな。目的が定まっていないと何をやっていいのかわからないのは当然じゃないかな。
サンキュートピだな。
関連するトピックス