2013年4月7日日曜日

gitメモ

gitについて、ドットインストールさんのサイトで勉強しました。
以下、その時のメモ的なものです。


linuxコマンド

pwd
現在いるディレクトリを表示する。
mkdir dirname
ディレクトリ作成
cd dirname
ディレクトリを移動
cat filename
ファイルの中身を確認
vim filename
filenameでテキストエディタを新規作成


ヴァージョン管理の流れ

  1. ファイルを作ったり修正たり
  2. ある程度のまとまりになったら
  3. 履歴データベースに保存する
git上での呼び方
  1. 作業ディレクトリ
  2. ステージングエリア(インデックス)
  3. リポジトリ(ローカル、リモート)


gitコマンド

git --version
gitのバージョン情報を表示する。
git config --global user.name ”{your name}"
gitの名前の設定。(必須)
git config --global user.email "{your email}"
gitのメールの設定。(必須)
git config --global color.ui true
色分け表示の設定。
git config -l
gitの設定一覧表示。
git config --help
git help config
configのヘルプ
git config --global alias.co checkout
git config --global alias.st status
git config --global alias.br branch
git config --global alias.ci commit
コマンドにエイリアス(短縮名)を設定する。一番上はチェックアウトの短縮名をcoに設定してる。
git init
gitを使用する宣言。その作業ディレクトリ上で実行する。
git add filename
ステージングエリアにfilenameを登録
git add .
ステージングエリアにディレクトリ以下の全てのファイルを登録
git commit
リポジトリに登録。テキストエディタが起動してメッセージ入力する
git commit -m "(message)"
リポジトリに登録。メッセージはそのまま入力できる。
git commit --amend
細かい修正のみで、新しくコミットする程でもない場合、リポジトリに登録した直前の内容で再登録する。
git commit -am"(message)"
addしつつcommitする。
git log
コミットの内容を確認する。
  • コミットid
  • コミットした人
  • コミットした日時
  • コミットのメッセージ
git log --oneline
ログの簡素版。
  • idの上数桁
  • メッセージ
git log -p
ログの詳細
変更箇所まで表示する。
git log --stat
どのファイルが何箇所変更された数を表示する。
git status
ステージングエリアやリポジトリとの差。
git checkout -- filename
ステージングエリアの内容に作業ディレクトリを戻す。
git diff
ディレクトリとステージングエリアの変更箇所を表示。
git diff --cached
リポジトリとステージングエリアの変更箇所を表示
git rm filename
一度登録したファイルを削除した場合に、git上からも削除する。
git mv filename
一度登録したファイルを移動した場合に、git上からも移動する。
git reset --hard HEAD
直前コミット内容に戻す。--hard作業ディレクトリもステージングエリアも一気に戻す。
git reset --hard HEAD^
直前の1つ前のコミットに戻す。HEAD^の部分はコミットidでもOK。
git reset --hard ORIG_HEAD
resetで戻った処理をやり直す。一度のみ。
git branch
ブランチの一覧表示。ブランチは分岐。初回のブランチ名はmaster。現状のブランチにアスタリスクついてる
git branch (branch name)
ブランチの新規作成。
git checkout (branch name)
ブランチの切り替え。
git checkout -b (branch name)
ブランチを作成しつつ、ブランチの切り替え
git merge (branch name)
マージは混ぜるの意味。別ブランチで追加した変更を現在いるブランチに適応させる。
git branch -d (branch name)
ブランチの削除。マージ後に実行する。
git branch --merged
現在いるブランチにマージされたブランチ一覧を表示する。
git tag
tagはコミットidの別名。タグの一覧表示。
git tag (tag name)
直前のコミットにタグ名をつける。
git tag (tag name) (commit id)
指定されたコミットにタグ名をつける。
git tag -d (tag name)
指定されたタグを削除する。
git show (tag name)
タグ名で指定されたコミット内容を表示する。

gitの管理に含めない方法

以下のファイルを作成して設定内容を保存する。

vim .gitignore
git管理に含めないファイルを登録する。サブディレクトリにも適応される。 *.log


コンフリクトの対処

コンフリクトとは
マージの際に同じ箇所が変更された場合は、コンフリクト(衝突)が発生して手動で修正が必要になる。
コンフリクトの修正
vim filename
   コンフリクトを起こしているファイルをテキストエディタで開く。コンフリクトの内容が表示されるのでいい具合に修正して保存。


共有リポジトリ関連

git init --bare
共有リポジトリを作成する。ディレクトリ名に.gitを付けるのが慣例。
mkdir ourweb.git
cd ourweb.git
git init --bare
git remote add origin (repos location)
リモートの設定。
git push origin master
共有リポジトリに向かってmasterブランチの内容を突っ込む。
git clone
共有リポジトリの内容をコピーする
git pull
共有リポジトリの内容を現在の作業ディレクトリにマージする。
他の人が共有リポジトリにpushした場合は、自分が新しくpushする前にpullをする必要がある。

0 件のコメント:

コメントを投稿