#author("2018-05-30T23:57:58+00:00","default:kazuma","kazuma")
#author("2018-08-10T01:28:39+00:00","default:kazuma","kazuma")
[[Git]]

*config系 [#u0a1a41e]
**デフォルトのユーザー名とメールアドレスを設定 [#xace05b3]
 git config --global user.name hogeuser
 git config --global user.email hogeuser@hogehoge.com

*基本コマンド [#mee5e86a]
**リポジトリの作成 [#e01b4594]
 git init 
 --bare --sharedでベアリポジトリとして作成

**ファイルの追加(ステージングへ) [#fddf42da]
 git add .

**状態確認 [#o47ce037]
 git status

**コミット(ローカルリポジトリへ) [#i05c7b0e]
 git commit -m "This comment"

**リポジトリのログ表示 [#df67cb2a]
 git log

**1世代戻る [#e47dd133]
 git checkout HEAD

**リポジトリからデータを同期 [#kad1546d]
 git pull

**共有リポジトリへ反映 [#b4204335]
 git push

*同期系(コピー) [#m3b5f7fa]
**リモートの特定のブランチのみclone [#u331360e]
 git checkout -b ブランチA origin/ブランチA

**特定のブランチの特定のファイルをチェックアウト [#hb5063fe]
 git checkout ブランチ名 ファイル名

*変更系 [#b75b45ad]
**ローカルブランチ名を変更 [#ofa15a48]
 git branch -m 元のブランチ名 新ブランチ名

**ローカルもリモートもブランチ名を変更 [#vf4c5193]
 git branch -m 元のブランチ名 新ブランチ名
 git push origin :元のブランチ名
 git push origin 新ブランチ名

*取り消し系 [#ef947c6f]
**コミットしていないファイルの変更取消 [#y82c2db3]
 git checkout ファイル名

**特定のファイルのコミットやaddの取り消し [#v7148452]
 git checkout commit-ID ファイル
 git reset --hard HEAD^    もしくは HEAD^の代わりにCommit ID

**pushしていないcommitを取り消し [#pa1891ea]
 git reset --soft HEAD^

**resetの取り消し [#n7ec2205]
 git reflog
 git reset --soft HEAD@{1}

**pushしていないcommitのログを修正 [#n7bae1fb]
 git commit --amend -m "コメント"
 git log

**pushしたcommitを取り消す [#offd6991]
 git log
 コミットIDをメモする
 git reset --hard コミットID
 
 git push -f origin ブランチ名:ブランチ名
 強制的にコミットを消すので履歴が残らないので注意する

** リモートブランチを削除する [#u69dcc0c]
 git branch -a
 ブランチ名を確認する
 
 git branch -d ブランチ名(ローカル)
 ローカルのブランチを削除する
 
 git push origin :ブランチ
 リモートのブランチを削除する
 
 ※既にローカルリポジトリが無い場合は、git push origin :ブランチ名 で削除OK

** git Untracked files(未追跡ファイル) [#y14aabc0]
** git Untracked files(未追跡ファイル)を削除する [#y14aabc0]
*** dryrun [#b0eb0fbd]
 $ git clean -n

*** 削除 [#je4fcc79]
 $ git clean -f


*コミットログをまとめる [#xa8c65f5]
**rebaseを使ってコミットログをまとめる [#g06eb950]
 $ 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 ブランチ名


**各コマンドは以下の通り [#lbd7b250]
pick
 コミットをそのまま使う。内容を変更しない。
reword
 コミットメッセージを変更する。コミット内容は変更しない。
edit
 コミットを修正する。
squash
 ひとつ前のコミットにまとめる。コミットメッセージを書き直す。
fixup
 ひとつ前のコミットにまとめる。コミットメッセージをそのまま使う。
exec
 shell でコマンドを実行する


*差分確認 [#rd1ad6f4]
**特定のファイルの特定のコミットとの差分を確認したい [#df0a7393]
 git diff コミットID(git logで確認) -- ファイルパス


*その他 [#qcee0336]
*** Gitリポジトリからtarball形式でファイルをダウンロード [#fb6d16ff]
gitコマンドが無いサーバーなどでwgetとかでファイルをダウンロードする
 $ wget https://github.com/ユーザー名/リポジトリ名/tarball/ブランチ名

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS