git 入門 (ローカル編)

January 18, 2016

Git入門

会社でも説明せないかんので記事作った

という感じ

前任者がわるいというわけじゃないんですが

恐怖のコメントアウトでバージョン管理

HTMLファイル(しかもスマートフォントップページ)200行~500行のコメントアウト見てると目がくらくらしたもんです。
ソースから「とりあえず表示がミスってなかったらいいや、怒られないし」的な心の声が聞こえる気がしました
まぁ間違いじゃないんですけど、表示速度くっそ重くなってんじゃねーか
読んでない JS & CSS ファイルもインクルードさせまくりやがってくそが、スマホの読み込みくっそ遅いぞどないすんねんこれ
ていうかあsdfghjhjkl

という状態だったんです。
2点の問題があって

  1. バージョン管理の文化がなかった。
  2. 開発環境がステージング環境で行われる。

という感じ
なので前任者の方も苦悩のなかでやってたんだろうなというのが想像出来て

会ったこと無いけどさ会ったら
「開発環境の提案もやれねーなら死ねよ屑が」って言ってしまいそうですが
「つらかったのね。」
「がんばったわあなたは」
「アトは私に任せてゆっくりやすんで」
と優しい言葉をかけたくなる優しい私になったりしました。
ありがとう前任者さん

基本

まずは

この三つとコメントの書き方さえ覚えてりゃおkじゃないかとおもう

1.ステージング
2.コミット
3.プッシュ

まずはそこから

いつやるの?Git入門

http://www.slideshare.net/matsukaz/git-17499005?related=1
概要:Git仕組み解説

ステージング (git add)

主に変更したファイルを登録する作業になりますです。
変更したけど登録を確定するかどうか選定するところの段階ですね。
あと削除したファイルをもちゃんとGitに教えなきゃバージョン管理が出来ない
逆に言えば間違って消してもちゃんと選定して登録すれば大丈夫ということなんだってばよ。

ステージを理解して git をもっと便利に使う
http://daretoku-unix.blogspot.jp/2009/08/git.html

"引用"

●stageとindex
git addの存在理由を理解するためには、まずstageとindexという概念を理解しましょう。
git はチェックアウトされたファイルを編集した直後にcommitを実行しても、どのファイルも新しいバージョンとして登録されません。
新しいバージョンとして登録するにはこのgit addをつかって、「このファイルは次回のコミットに含める」と宣言してやる必要があります。
このようにある変更点を次回のコミットに含めるようgitに指示することをgit用語で 「stageする」とかstagingと言います。
また、ワーキングコピーからstageした内容を保持する領域のことをindexと呼びます。

コミット (git commit)

ローカル上でのファイル変更を確定させます。
これでファイルの変更や削除、追加の登録ができるわけですね。
複数commitをまとめることもできたりもします。

Git の基礎勉強 ~ Git によるバージョン管理 ~
http://tracpath.com/bootcamp/learning_git_firststep.html#id3

"引用"

コミット
「コミット」は新規作成したファイルや編集したファイルを保存することを意味しています。新しい機能を追加したときやバグを修正したとき、作業ディレクトリ上で一区切りついた時にコミットしてそれまでの作業を一旦保存します。ファイルの変更後、ファイルを保存した上でコミットを行います。

こわくない Git

http://www.slideshare.net/kotas/git-15276118?next_slideshow=1
概要:
"「マージがなんとなく怖い」「リベースするなって怒られて怖い」「エラーが出て怖い」
Git 入門者にありがちな「Git 怖い」を解消"
主にGit操作を行った際に、どのようなことが行われているかの解説

ここでコメントをちゃんとしておかないと、複数人でやる場合じゃなくても個人でやってても混乱します。

参考になったのはこちらの記事

Gitのコミットメッセージの書き方
http://qiita.com/itosho/items/9565c6ad2ffc24c09364#%E3%83%A9%E3%82%A4%E3%83%88%E7%89%88

要約
変更内容の概要を書きます。シンプルかつ分かりやすく。(難しい)
【例】削除フラグが更新されない不具合の修正

私の場合はこれに加え最初に
案件+作業指示のエビデンス
を追加しておいたりします。

プッシュ (git push)

ここでリモート環境へ変更を共有します。
他の方に変更を反映したり
履歴なども見てもらえたりします。

Gitコマンドについて調べる【git push】
http://kimromi.hatenablog.jp/entry/2015/08/06/004438
"引用"

git pushは、ローカルリポジトリにcommitした履歴をリモートリポジトリにアップロードするものです。ここでやっと自分のコードの修正がローカルからリモートにいくので、他の開発者から自分の変更が見えるようになります。

参考記事

デザイナのためのGit入門

http://www.slideshare.net/dsuket/git-16343460?related=1
概要:Gitの特長を図解で解説

Git実例(ワークフローの実例)

【社内勉強会】弊社て?Git!実案件て?の運用

http://www.slideshare.net/re_3_19/git-33746942

5つのブランチモデル:29ページ

ブランチ種類 概要
developブランチ 開発を行うためのブランチ。開発者は、主にこのブランチ上で作業を行う。次に紹 介するfeatureブランチなど、他のブランチで行った作業は、ここにマージされる。
fertureブランチ 主要な機能を実装するためのブランチ。機能の実装やバグフィックスなど、タスク ごとにfeatureブランチを作成し、作業を行う。
releaseブランチ リリースの準備を行うためのブランチ。プロダクトをリリースする前に、このブラ ンチを作成し、微調整を行う。releaseブランチを作成することで、リリース準備 と次のバージョンに向けた開発のコードを分けることができる。
master リリースしたソースコードを管理するためのブランチ。リリース作業を行うと、 releaseブランチはmasterブランチへマージされて、リリースタグが打たれる。開 発者は、このブランチへのコミットは行わない。
hotfix リリースされたソフトウェアに緊急の修正を行うためのブランチ。このブランチで の修正内容は、すぐにリリースされるので、hotfixブランチはリリースを管理する masterブランチへマージされる。

Git運用ダメ出し会 - ネクストスケープ

http://www.slideshare.net/mihararyosuke/git-35213280?related=1
運用時の駄目だしなんかあるので参考までに

操作編

Git ソフト

TortoiseGit の基礎勉強 ~ TortoiseGit によるバージョン管理 ~
http://tracpath.com/bootcamp/learning_tortoisegit.html
ソースツリーなんかよりも亀さんのほうが使いやすかったよ

Git 操作例

Gitのよく使うコマンド
http://www.slideshare.net/vector.xenon/git-14162471?related=2

ソフトだけ使っても難しい場合は黒い画面を出すと幸せになれます。
苦手ならレッツチャレンジ

製作実例WordPress

もしWordPressユーザーがGitを使ったら ?WordPressテーマを共同編集しよう?

http://www.slideshare.net/uemera/wordpressgit-wordpress?related=2

このエントリーをはてなブックマークに追加