Git Git/SourceTree使用方法
個人での利用
ステージング
コミット
コミットログ
git log
特定ファイル
git log 〜/〜.php
パス指定
git log -p 〜/〜
まとめる
git log --word-diff -p 〜/〜php
コミット追跡
git blame -s 〜/〜.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 checkout ローカルブランチ名 --ファイルパス

過去/未来のコミットに移動
別ブランチのコミットに移動
→ 作業コピーのファイル状態は移動先のコミット状態に変更される
マージ
git merge FETCH_HEAD
別ブランチを現ブランチにマージ
git merge 別ブランチ
「別ブランチの状態に合わせる」も参照

リベース
コンフリクト等によって中断した場合の再開
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 reset –hard origin/master
スタッシュ
チームでの利用
クローン
【手順】
「ファイル」メニュー > 「新規/クローンを作成する」

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