config系†デフォルトのユーザー名とメールアドレスを設定†git config --global user.name hogeuser git config --global user.email hogeuser@hogehoge.com 基本コマンド†リポジトリの作成†git init --bare --sharedでベアリポジトリとして作成 ファイルの追加(ステージングへ)†git add . 状態確認†git status コミット(ローカルリポジトリへ)†git commit -m "This comment" リポジトリのログ表示†git log 1世代戻る†git checkout HEAD リポジトリからデータを同期†git pull 共有リポジトリへ反映†git push 同期系(コピー)†リモートの特定のブランチのみclone†git checkout -b ブランチA origin/ブランチA 特定のブランチの特定のファイルをチェックアウト†git checkout ブランチ名 ファイル名 変更系†ローカルブランチ名を変更†git branch -m 元のブランチ名 新ブランチ名 ローカルもリモートもブランチ名を変更†git branch -m 元のブランチ名 新ブランチ名 git push origin :元のブランチ名 git push origin 新ブランチ名 取り消し系†コミットしていないファイルの変更取消†git checkout ファイル名 特定のファイルのコミットやaddの取り消し†git checkout commit-ID ファイル git reset --hard HEAD^ もしくは HEAD^の代わりにCommit ID pushしていないcommitを取り消し†git reset --soft HEAD^ resetの取り消し†git reflog git reset --soft HEAD@{1} pushしていないcommitのログを修正†git commit --amend -m "コメント" git log pushしたcommitを取り消す†git log コミットIDをメモする git reset --hard コミットID git push -f origin ブランチ名:ブランチ名 強制的にコミットを消すので履歴が残らないので注意する リモートブランチを削除する†git branch -a ブランチ名を確認する git branch -d ブランチ名(ローカル) ローカルのブランチを削除する git push origin :ブランチ リモートのブランチを削除する ※既にローカルリポジトリが無い場合は、git push origin :ブランチ名 で削除OK git Untracked files(未追跡ファイル)を削除する†dryrun†$ git clean -n 削除†$ git clean -f コミットログをまとめる†rebaseを使ってコミットログをまとめる†$ git log --oneline <--id確認 e4b4071 9 5fed676 2 b58707a 1st commit $ git rebaese -i b58707a <--2と9をまとめる場合1のIDを指定する pick 5fed676 2 pick e4b4071 9 ↓下記のように修正する pick 5fed676 2 squash e4b4071 9 :wqで保存すると再度エディタがあがってくるので、いい感じのコミットメッセージに修正する 2と9を一緒にした [detached HEAD d6b273a] 2と9を一緒にした Date: Tue Jul 5 19:39:00 2016 +0900 1 file changed, 1 insertion(+), 1 deletion(-) Successfully rebased and updated refs/heads/master. $ git log --oneline d6b273a 2と9を一緒にした b58707a 1st commit $ git push -f -u origin ブランチ名 各コマンドは以下の通り†pick コミットをそのまま使う。内容を変更しない。 reword コミットメッセージを変更する。コミット内容は変更しない。 edit コミットを修正する。 squash ひとつ前のコミットにまとめる。コミットメッセージを書き直す。 fixup ひとつ前のコミットにまとめる。コミットメッセージをそのまま使う。 exec shell でコマンドを実行する 差分確認†特定のファイルの特定のコミットとの差分を確認したい†git diff コミットID(git logで確認) -- ファイルパス その他†Gitリポジトリからtarball形式でファイルをダウンロード†gitコマンドが無いサーバーなどでwgetとかでファイルをダウンロードする $ wget https://github.com/ユーザー名/リポジトリ名/tarball/ブランチ名 |