Vim(プラグインの導入)

NeoBundleによるVimプラグイン管理とおすすめプラグイン
http://catcher-in-the-tech.net/1063/

プラグインを導入するためにNeoBundle(プラグイン管理ツール)
を上記サイトにしたがってインストール、インストールできた。

zencoding-vim を入れてみようと思う
emmet-vim

github実践入門備忘録

GitHub 実践入門 読書メモ

■設定ファイル:~/.gitconfg

■コミットメッセージ
・1行目 コミットする変更内容の要約を1行
・2行目 空行
・3行目 変更した理由や詳細を記述

■hubコマンド
hub-windows-amd64-2.2.1(standalone)で動作させている。
2.2.3 では動作させる方法わからなかった。

Travis CI(GitHubとの連携)
Travis WebLint
https://lint.travis-ci.org/
travisの設定ファイルをチェックしてくれるサイト

Travis Ci
https://travis-ci.org/

参考サイト
Travis CI 入門:GitHub + Travis CI で継続的インテグレーション
http://tetsuwo.tumblr.com/post/44706350593/github-travis-continuous-integration

開発ツール徹底攻略 が参考になるとあるので読んで確認する

Travis CIを使ってみた: GitHubのレポジトリにバッジを貼りたかったから
http://rcmdnk.github.io/blog/2014/09/08/computer-github-travis/

■Coveralls(コードカバレッジレポートサービス)

■Jenkins

SSH接続について
参考サイト
~/.ssh/configについて
http://qiita.com/passol78/items/2ad123e39efeb1a5286b

# 公開鍵認証の場合
ssh ユーザー名@ホスト名 -i ~/.ssh/鍵の名前

gitHubssh接続する手順~公開鍵・秘密鍵の生成から~
http://qiita.com/shizuma/items/2b2f873a0034839e47ce


GitHub Flow
・デプロイツールを利用して、デプロイ作業を自動化
・テストを自動化する
・試せる環境を用意する(本番環境と同じ)

■Git Flow
・git-flowのインストール(Windows)
git-flowのインストールとブランチ運用前のリポジトリ準備 (1/2)
http://www.atmarkit.co.jp/ait/articles/1311/28/news042.html

個人的なgitflow勉強用サイトまとめと、導入時に詰まったところメモ
http://usui3153m.hatenablog.com/entry/2015/10/01/232118

英語きちんと英語読めばよかった。。。

MsysGit installation directory not found.
Try to give the directory name on the command line.

こちらと同じような間違えをして、
上記メッセージ出ていたのだけれど、きちんと読まずにはまってました。

エラーの意味がわかったので、
きちんと作業ディレクトリ(ない場所を指定してたの原因)
を指定して実行したら、いけました。よかった。

Gitの学習 備忘録7

サルでもわかるGitメモ

・stash
コミットされていない変更点を一時退避させる場所

・軽量タグ
 名前を付けられる

・注釈付きタグ
 名前を付けられる
 コメントを付けられる
 署名を付けられる

・軽量タグの付け方
git tag
→現在のHEADの位置にタグを付ける

・注釈付きタグの付け方
git tag -am <"comment">

・タグ情報を含めて履歴を表示する
git log --decorate

・タグの一覧の表示
git tag -n

・タグを削除する
git tag -d

・コミットを書き換える
git commit --amend

・コミットの内容を打ち消す
git revert <>

・コミット、インデックス、ワークスペースを取り消す
git reset <>

・コミットを抜き取る
git cherry-pick

・過去のコミットをまとめる
・コミットを修正する
git rebase -i

Gitの学習 備忘録6

Gitをはじめからていねいに2周目なので
覚えていないコマンドをメモしました。

※どんな場合でも追跡対象にしない設定をするためのコマンド

git config --global core.excluedesfile ~/.gitigrone_global
echo ".DS_Store" >> ~/.gitignore_global

一行目で、「グローバルに無視するファイル名を書いたファイルは ~/.gitignore_global というファイルだよ」と Git に教えてあげています。二行目で、そのファイルに ".DS_Store" を書き込み、Git に「.DS_Storeは無視してね」と教えています。

※そのリポジトリで追跡対象にしないファイルを追加する場合は.gitignore にファイル名を記述する

git rm --cached
→ステージングエリアからアンステージする場合に使用する

git log
→git のログを表示する

git checkout --
→file の変更をなかったことに(変更前に戻す)する

git reset HEAD
→アンステージする

git log --graph
→git のログを親子関係をグラフなどで表示

git add .
→現在のディレクトリ全てのファイルをステージングエリアに移す

git config --global color.ui true
→git 表示の色を付けるように設定する

git rm
→(ファイル削除を削除し、)ファイルをステージングエリアへ移動する

git mv <変更前のファイル名> <変更後のファイル名>
→ファイル変更のファイルをステージングエリアへ移動させる

git log --graph --pretty=format:'%s %d'
→コミットメッセージとブランチを表示するようにしてログ表示

git config --global alias.graph "log --graph --date-order --all --pretty=format:'%h %Cred%d %Cgreen%ad %Cblue%cn %Creset%s' --date=short"
→Git Tip (graph と入力するだけでオブション指定して入力して表示と同じように設定)

git branch -d
→branchブランチを削除する

git branch -b
→branchを切ってbranchブランチに移動する

git reset --hard <戻りたいコミットのID>
→作業をコミットID指定した場所まで戻す

git merge --no-ff
→FastForwardせずにマージコミット残してマージするよう指定

git rabase
→過去に戻って別のところから変更をやりなおして、コミットをやり直すことで過去を改変する

git commit --amend

このコマンドを実行すると、全く新たなスナップショットをコミットするのではなく、ステージされた変更内容と直前のコミットとの結合が行なわれます。また、スナップショットに変更を加えずに単に直前のコミットメッセージを編集する場合にも有用です。


運用方法

なにか作業をするときには development ブランチから topic ブランチを切って行います。そして、その作業が終わったら、develop ブランチでそのトピックブランチを merge します。これを繰り返して、development ブランチの状態が「リリースできるもの」になったら、master ブランチから development ブランチを merge します。

それともうひとつ、すでにリリースしてしまったものに不具合が見つかったときにそれを緊急で修正しなければならないときには、master ブランチから hotfix ブランチを切って、ここで修正した内容を master ブランチに merge することにしましょう。これで、開発中のものを急いでリリースせずに、緊急の対応だけは先にリリース版に組み込みことができますね。

そして、この緊急対応が無事にリリースされたなら、hotfix が取り込まれた master ブランチを development にマージすることにしましょう。このように運用することで、開発版にも、リリース版での修正を反映することができます。

git clone --bare
→pathの複製をベアプロジェクトとしてpath2に複製して作成
※ベアリポジトリには.gitで終わる名前を付けるのが慣習になっている

git remote
→リモートリポジトリのリポジトリを表示する。

リモートリポジトリを通しての作業手順

リモートリポジトリの、反映したいブランチを「追跡」するためのブランチを手元のリポジトリに作成する
そのブランチ上で変更を行い、コミットする
このコミットを、「追跡」しているリモートブランチとリモートリポジトリに反映する

git branch <手元のブランチ> <追跡したいリモートブランチ>
→リモートブランチと手元のブランチを紐付ける

git remote add <リモートリポジトリの名前> <リモートリポジトリの場所>
→リモートリポジトリを追加する

git fetch <リモートリポジトリの名前>
→リモートリポジトリの中身を手元のリポジトリに反映

git branch --set-upstream-to=<追跡したいリモートブランチ> <手元のブランチ>
→手元のブランチと追跡したいリモートブランチを設定する
※参照
git pull を --set-upstream-to で引数無しで実行可能にする
http://qiita.com/kjirou/items/e0469aac0e128be380d6

git checkout -b <親branch名>
→親branchから branch を切ってブランチを切り替える

git push <リモートリポジトリの名前> <手元のブランチ>:<リモートにつくりたいブランチ>
→リモートリポジトリに新しいブランチを複製

git push
→手元のリポジトリの内容をリモートリポジトリに反映

git push <リモートリポジトリ名> :<消したいリモートリポジトリのブランチ名>
→リモートリポジトリの指定したブランチを消去

git pull
→fetch + merge を行う

コミットの内容を詳しく書きたいときには、こんな感じでコミットメッセージの一行目にコミットの概要を書き、ふたつ改行を行ったあとに詳細を書くと、いろんなツールでコミットログを見たときにいい感じに表示してくれるので、こういう書き方をするといいでしょう。

Gitの学習 備忘録5

■参考サイト
https://github.com/takanabe/introduction-to-git/blob/master/10_push_pull.md

■リモートリポジトリに新しいブランチを複製
git push <リモートリポジトリ名> <手元のブランチ>:<リモートに作りたいブランチ>
→手元のブランチがリモートブランチを追跡するように設定

コミットの内容を詳しく書きたいときには、こんな感じでコミットメッセージの一行目にコミットの概要を書き、ふたつ改行を行ったあとに詳細を書くと、いろんなツールでコミットログを見たときにいい感じに表示してくれるので、こういう書き方をするといいでしょう。

リモートリポジトリに手元の変更を反映したいなら、git push
追跡ブランチに対しての変更はそのまま git push
新しいブランチを作りたいなら git push <リモートリポジトリの名前> <手元のブランチ>:<リモートのブランチの名前>
ブランチを削除したいなら git push <リモートリポジトリの名前> :<リモートのブランチの名前>
リモートリポジトリから手元に変更を持ってきたいなら git fetch
リモートリポジトリのコミットとブランチを持ってくる
リモートリポジトリのブランチはリモートブランチとして作られる
fetch のついでに merge も一緒にやりたいなら、git pull

◆Git Flow について
http://keijinsonyaban.blogspot.jp/2010/10/successful-git-branching-model.html

  • master ブランチ

- hoffix ブランチ(バグなどの修正用):masterにマージ後、developにもマージ

  • develop ブランチ

- feature ブランチ(機能開発)
- release ブランチ(リリース前の部分をタグ付)


※ git 1.7.6 以上のバージョンだと以下のコマンドで
マージのデフォルトに--no-ffオプションを付与できる

git config --global merge.ff false

※Git の拡張を導入する必要など。
https://github.com/nvie/gitflow

GitHub Flow について
https://gist.github.com/Gab-km/3705015

gitのブランチモデル検討〜git-flowとgithub-flowを比較してみた〜
http://qiita.com/jshimazu0820/items/066e061eef700caa1c68

GitHub Flow 図解
http://qiita.com/tbpgr/items/4ff76ef35c4ff0ec8314

小規模開発には git-flow よりも GitHub Flow で捗る
http://tech.tmd45.jp/entry/2012/10/18/210941

GitHub Flow を使用(リポジトリ共有方式で開発)しようと思う。

■参考サイト
GitHub のフォーク (fork) とプルリクエスト (pull request) の使い方
http://cuaoar.jp/2013/03/github-fork-pull-request.html

GitHub初心者はForkしない方のPull Requestから入門しよう
http://blog.qnyp.com/2013/05/28/pull-request-for-github-beginners/

Gitの学習 備忘録4

https://github.com/takanabe/introduction-to-git/blob/master/09_clone.md

を学習。

以下、備忘録
◆ベアリポジトリについて

リポジトリの実体」=「.git」というディレクト

bareリポジトリの名前は、最後に「.git」を付けるのが慣習となってます。

◆リモートリポジトリについて
作業の共有化先をリモートリポジトリとして登録する必要がある

git clone でリポジトリを手元に複製してきた場合、Git さんが勝手に clone 元のリポジトリを、「origin」という名前のリモートリポジトリとして登録してくれるのです。これで、cloneしてきたリポジトリからコミット内容を手元に取り込んだり、手元のリポジトリのコミット内容をcloneしてきたリポジトリに反映できますね!

git clone をすると、クローン元に存在するコミットとブランチを、手元に複製してきます。このとき、ブランチは「リモートブランチ」としてコピーされてきます。

■リモートリポジトリに内容を反映させたい場合の手順

・リモートリポジトリの、反映したいブランチを「追跡」するためのブランチを手元のリポジトリに作成する
・そのブランチ上で変更を行い、コミットする
・このコミットを、「追跡」しているリモートブランチとリモートリポジトリに反映する

git clone すると、複製元のコミットとブランチがすべて手元のリポジトリに複製される
このとき、複製元のブランチは「リモートブランチ」として複製される
リモートリポジトリに対して手元で行った変更を反映するためには、このリモートブランチを「追跡」するブランチを手元に作成する必要がある。
このブランチに対するコミットは、対応するリモートリポジトリのブランチに反映することができる
対応するリモートリポジトリのブランチで行われているコミットは、このブランチに取り込むことができる

■リモートリポジトリを登録する方法
git add リポジトリ名 リモートリポジトリのパス

■リモートリポジトリに存在するコミットやブランチを手元に持ってくる
git fetch リモートリポジトリ名

■リモートリポジトリを追跡するように設定する
git branch --set-upstream-to=<追跡したいリモートブランチ> <手元のブランチ>