More than 1 year has passed since last update.

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

上の例の説明。

  1. $ git reset --hard HEAD^ を実
  2. その後、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が<切り替え先リモートリポジトリ>に変更されていることを確認。
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.