Gitリポジトリからソースをクローンする。
$ git clone <リモートのクローン先> [optional ローカルのフォルダ名]
リモート操作
リモートブランチも含めたブランチ一覧を表示する。
$ git branch -a
例)
$ git branch -a
feature2535
feature2558
- master
remotes/origin/1.2.1
remotes/origin/HEAD -> origin/master
remotes/origin/testbra
リモートからブランチを取得する。
$ git fetch origin <ブランチ名>
リモートからブランチをチェックアウトする。
$ git checkout -b <作成ブランチ名> <リモートブランチ名>
例)
git checkout -b testbra origin/testbra
リモートブランチを削除する
$ git push origin --delete <削除するリモートブランチ名>
または
$ git push origin :<削除するリモートブランチ名>
ブランチ名を変更する
変更対象のブランチ移動
$ git branch -m <変更後のブランチ名>
最新のインデクスからmergeする。
$ git merge FETCH_HEAD
ブランチ操作
ブランチ一覧を表示する。
$ git branch
ブランチを作成する。
$ git branch <ブランチ名>
ログの閲覧
特定のコミットのログを見る。
$ git show <タグ名など>
コミットログの一覧を見る。
$ git log
比較の操作
リビジョン間の差分(ファイル名のみ)を確認する。
git diff --stat --name-only <比較するリビジョン> <比較するリビジョン>
--name-only を外せば、中身の比較も表示する。
履歴の操作。
HEADの位置を変更する。
HEADとは簡単にいうと、 使用中のブランチの最新のコミット位置のこと。このHEADの位置を自由に操作することができる。
ワーキングツリーの変更はそのままにする。
git reset --soft {HEADの位置}
例) HEADを1世代前に戻す場合は git reset --soft HEAD^^
ワーキングツリーの変更もHEADの状態に変更。
HEADのリビジョンから以前のリビジョンにコミットを戻す。 ソースの変更も戻してしまう。
$ git reset --hard {HEADの位置}
マージしてコンフリクトが多発したとき、なかったことにする。
git reset --hard ORIG_HEAD
HEADの移動した履歴を見る。
git resetなどでHEADの履歴を見ることができる。
git reflog
例) git reflog
f7e2b6d HEAD@{0}: reset: moving to HEAD@{1}
0d977b7 HEAD@{1}: reset: moving to HEAD^
f7e2b6d HEAD@{2}: checkout: moving from xxxxx to yyyy
357f1aa HEAD@{3}: merge FETCH_HEAD: Fast-forward
594e4fe HEAD@{4}: checkout: moving from zzzzzz to xxxxxx
上の例の説明。
-
$ git reset --hard HEAD^
を実 - その後、
git reset --hard HEAD@{1}
でHEADの位置を 1を実施する前に戻している。
インデックスの操作。
インデックスのファイルを追加。
$ git add {追加するファイル}
インデックスからファイルを削除。
$ git rm --cached <filename>
タグ操作
ローカルにあるタグの一覧を表示する。
$ git tag
リモートのタグを取得する。
$ git pull --tags
タグからチェックアウトしてブランチを作成する
$ git checkout refs/tags/{タグ名}
タグを作成する。
$ git tag -a <タグ名>
ローカルのタグを リモートにpushする。
$ git push --tags
ローカルのタグを削除する。
$ git tag -d <タグ名>
リモートのタグを削除する場合は、 ローカルのタグを削除したのち、削除したタグをpushする。
$ git tag -d <タグ名>
$ git push origin :<タグ名>
or
$ git push --delete <タグ名>
タグの情報を確認する。
git show <タグ名>
ワークツリーの変更ファイルを一時的に退避させる。
スタックに一時的に退避させる
git stash
スタックから退避したファイルを取り戻す
$ git stash pop
スタックから退避した最新作業を削除する
$ git stash drop
スタックから退避した全ての作業を削除する
$ git stash clear
他のブランチの指定の変更を反映する。
$ git cherry-pick {反映させる変更が含まれるリビジョン}
あまり使わないかも知れないけど、たまに必要になる操作。
すでにcloneずみのリポジトリを別のリポジトリにpushする。(bareリポジトリ初期pushの場合)
$ git push <bareの新リポジトリ> master
cloneしたローカルリポジトリのリモートリポジトリを切り替える。
$ git remote set-url origin <切り替え先リモートリポジトリ>
例)確認してからリポジトリを切り替える。
-
git config -l
でremote.origin.url=<現在のリモートリポジトリURL>を確認。 -
git remote set-url origin <切り替え先リモートリポジトリ>
を実行。 - 再度
git config -l
でremote.origin.urlが<切り替え先リモートリポジトリ>に変更されていることを確認。