#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]
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/ブランチ名