Git
ブランチ名指定でclone
git clone -b develop https://github.com/xxxxxxxxxxxxxxxxxxxxxxxxxx.git
GitHubパスワード認証廃止 GitHubは過去1年間使用されていない個人アクセストークンを自動的に削除 使用例
$ git clone https://github.com/username/repository.git Cloning into 'repository'... Username for 'https://github.com': username Password for 'https://username@github.com': ここで取得した個人アクセストークンを入力する
※個人アクセストークンは HTTPS Git 操作だけにしか使用できない。
直前のコミットメッセージを変更したい時 "amend"=「修正する、改める」という意味。直前のコミットを修正する。 但し、pushする前のコミットを修正したい時だけ。
間違えたコミット
git commit -m "誤字を含むコミット"
訂正
git commit --amend -m "修正されたコミット"
過去のコミット直前時点に巻き戻す 「まだ作業をしようと思っていたのに間違えてコミットしてしまった」 「2つのファイルをまとめてコミットするべきだったのに、間違えて1つしかコミットしていなかった」 (コミットする直前のステージング状態に戻れる)
git reset --soft HEAD^
HEAD^
(=1つ前のコミット。2つ前は^^。) コミットIDを指定して戻ることもできる
取り消し
git merge
「マージしたらコンフリクトした。やっぱりやめよう。」 マージしたらコンフリクトした、コンフリクトするとは思わなかった、いったんやめよう、などといういう時。 (コンフリクトの編集をしていないときに限る)
git merge --abort
「マージしたらコンフリクトした。コンフリクトを解消しようといろいろ編集した。でもやっぱりやめよう。」 コンフリクト解消のためにコードをいろいろ編集したけどやっぱりマージやめよう、という時。 (編集した内容もマージもすべて取り消される)
git reset --hard HEAD
pull
https://dev.classmethod.jp/articles/how-to-checkout-remote-branch/
例えば、git pull origin master と打った 変な風になった...
(本当ならgit pullだけで良かった...)
git reflog git reset --hard HEAD@{1}
git revertは指定したコミットの内容を打ち消して、新しいコミットを作成する。(ポインタを前に進める) git resetは指定したコミットを削除する。(ポインタを過去に戻す)
その他
ファイルのリネーム
git mv 例:git mv search.html Search.html
これをやらないと、git で差分として認識されない。
コミットID確認
git log |grep '^commit' |head -1|awk '{print $2}'
現在のブランチを確認
git branch --contains
ローカルブランチ一覧
git branch
ローカルでマージ
マージしたいブランチに移動
git checkout stg git pull origin stg
マージさせたいブランチに移動
git checkout master git pull origin master git merge --no-ff stg ←3ウェイマージ(意図的にfast-forwardを行わないコミットをすることが出来る) git push origin master
PRに含まれているファイル名取得(devツールのconsoleで取得)
[...document.querySelectorAll('.file-info a')].map(x => x.title)