Git Git/SourceTree使用方法

個人での利用

ステージング
全てインデックスに追加
git add .
指定ファイルをインデックスに追加
git add test.txt
作業コピーの変更をインデックスに登録
コミット
コミット
git commit -m “コメント”
ステージングされた作業コピーの変更をローカルブランチに登録
コミットログ
全ファイル
git log

特定ファイル
git log 〜/〜.php

パス指定
git log -p 〜/〜

まとめる
git log --word-diff -p 〜/〜php

ブランチ
ブランチ一覧
git branch

ブランチ一覧(リモート含む)
git branch -a

現在のブランチ
git branch --contains=HEAD

現在のコミットからTESTブランチを作成
git branch test

beforeブランチからafterブランチを作成
git branch after before

ブランチを削除
git branch -d test

リモートブランチを削除
git push --delete origin branch_name

現在のコミットからブランチを作成
ローカルブランチを複製
チェックアウト
別ブランチのコミットに移動
git checkout ブランチ名

リモートブランチをローカルにチェックアウト
git checkout -b ローカルブランチ名 origin/リモートブランチ名


過去/未来のコミットに移動
別ブランチのコミットに移動
→ 作業コピーのファイル状態は移動先のコミット状態に変更される
マージ
更新されたリモート追跡ブランチを、現在のローカルブランチにマージ
git merge FETCH_HEAD

別ブランチを現ブランチにマージ
git merge 別ブランチ

チェックアウトしているブランチへ別ブランチの変更を取り込む
リベース
git rebase 別ブランチ

コンフリクト等によって中断した場合の再開
git rebase --continue

チェリーピック
別ブランチの特定コミットのみマージ
git cherry-pick [取込対象コミットID]
リセット
コミット状態を戻す
git reset (オプション) (戻す位置)
戻す対象

オプション HEAD インデックス 作業ツリー
–hard
–mixed
–soft

戻す位置

位置 機能
HEAD^ 直前のコミット
HEAD 現在のコミット

HEAD、インデックス、作業ツリーを戻す
git reset –hard ~
HEAD、インデックスを戻す
git reset –mixed ~
HEADを戻す
git reset –soft ~
HEAD^(直前のコミット)を戻す
git reset –hard HEAD^
コミット後の変更を戻す
git reset –hard HEAD

スタッシュ
作業コピーの変更を退避

チームでの利用

クローン
リモートブランチをローカルブランチとしてコピー
【手順】
「ファイル」メニュー > 「新規/クローンを作成する」
git clone https://github.com/ユーザ名/レポジトリ.git
フェッチ
リポジトリ:originのmasterブランチのコミットをリモート追跡ブランチに更新
git fetch origin master
リモートブランチの変更をリモート追跡ブランチに更新(1)
その後、リモート追跡ブランチの変更を作業コピーにマージ(2)する必要がある
PULLは(1)~(2)を同時実行する
プル
リポジトリ名:originのmasterブランチのコミットをローカルブランチに更新
git pull origin master
レポジトリ名設定
git remote add 別名 https://github.com/ユーザ名/レポジトリ.git
【強制pull】
コンフリクトを無視してリモートに合わせる
フェッチ
git fetch origin master
②リモート追跡ブランチのorigin/masterまで戻す
git reset –hard origin/master
リモートブランチのコミットをローカルブランチに更新
プッシュ
リポジトリ名:originへローカルのmasterブランチのコミットを更新
git push origin master
リポジトリ名:originのmasterブランチへ、ローカルのtestブランチのコミットを更新
git push origin test:master
ローカルブランチのコミットをリモートブランチに更新

Follow me!