Git備忘録
こんにちはマダラです。
Gitといえばエンジニアなら誰でも知っているツールですよね!
必須の技術ですから、初心者ながら色々と初期設定などまとめたのでその備忘録になります!
あとで見やすく編集します、、、、
http://git-scm.com/download/mac からダウンロード
まずは上記のURLからダウンロードしてきます。
$ tar -zxf git-2.0.0.tar.gz
$ cd git-2.0.0
$ make configure
$ ./configure --prefix=/usr
$ make all doc info
$ sudo make install install-doc install-html install-info
一度この手順を済ませると、次からはGitを使ってGitそのものをアップデート可能
$ git clone git://git.kernel.org/pub/scm/git/git.git
初期設定
Gitインストール後にターミナルで
$git config --global user.name “名前“
$git config --global user.email メールアドレス
社内指定などでプロキシ配下の場合はその設定も行う
(認証がある場合はuser:passにユーザーIDとパスワードを設定)
※パスワードに@がある場合は、@をURLエンコードした値(%40)を使用します
$git config --global http.proxy http://proxy.server.com:port
$git config --global http.proxy http://user:pass@proxy.server.com:port
間違えてプロキシ設定したら下記で解除
$git config --global --unset http.proxy
設定の確認
$git config --global --list
適当なフォルダで
$git init
でversion管理フォルダ化する。
$git clone “URL”
でリポジトリをコピー。URLはgitのリポジトリGUIからコピー。
リポジトリ作ったらローカルでcloneしてadd,comiit,pushするだけ。
基本コマンド
バージョン確認
$git --version
ステージに上げる
$git add * [or] . [or ファイル名]
ビジネスレベルではこちらのaddを使用
$git add -p [ファイル名]
間違ったaddを修正する
$git reset HEAD [addしたファイル名]
コミットする
$git commit -m “メッセージテキスト"
直前のコミットを修正する
$git commit —amend
変更差分の確認
$git diff
ワークツリーと最終コミットの差分を確認
$git diff HEAD
直前のコミットからの変更があったファイルを確認
・modified:修正したファイル
・deleted:削除したファイル
・Untracked files:新規作成したファイル
$git status
作業を一時退避(Last In First Out)
$git stash
一時退避を元に戻す
$git stash pop
一時退避の確認
$git stash list
一時退避の消去
$git stash clear
ファイルの変更履歴を見る
$git log [ファイル名] or [オプション指定なしで全ファイル]
リモート操作
リモートの設定
$git remote add origin [URL]
リモート設定の確認
$git remote -v
リモート設定の変更
$git remote set-url origin [URL]
リモートとの通信(push後Pull Requestを作成して管理者修正を待つ)
$git push origin master(branch名)
$git pull origin master(branch名)
リモートURL記載のファイルを確認する(このファイルの直接編集による変更も可)
$cat ./.git/config
origin以外のリモートの追加
$git remote add [追加する名前] [追加するURL]
リモートの削除
$git remote rm [削除する名前]
リモートコマンドのヘルプ
$git remote --help
ブランチ操作
新規ブランチを作成しつつ切り替える
$git checkout -b branch名
ブランチの切り替え
$git checkout branch名
ブランチの確認
$git branch
ブランチの削除
$git branch —delete [branch名]
マージしたかどうかに関わらず削除
$git branch -D [branch名]
リモートブランチの確認
$git branch —remote
ローカルとリモート全てのブランチの確認
$git branch —all
[branch名]の修正をmasterにマージする(マージさせたいブランチに移動する)
$git merge [branch名]