git push の使い方
リモートに送る
書き方
git push git push -u origin ブランチ git push origin --delete ブランチ git push --tags git push --force-with-lease
手元のコミットをリモートに送ります。リモートに知らないコミットがあると rejected になるので、pull してから送ります。
よく使うオプション
| オプション | 意味 |
|---|---|
-u | 送ったブランチを上流として覚える(次からは git push だけでよい) |
--force-with-lease | リモートが自分の知っている状態のときだけ上書きする |
--force | リモートを無条件に上書きする |
--tags | タグもまとめて送る |
--delete ブランチ | リモートのブランチを消す |
例
$ git push -u origin feature/searchTo github.com:example/app.git
* [new branch] feature/search -> feature/search
branch 'feature/search' set up to track 'origin/feature/search'.新しいブランチを初めて送り、上流として覚えます。
$ git push
上流を覚えたブランチの新しいコミットを送ります。
$ git push --force-with-lease
rebase や --amend で作り直したブランチを送り直します。ほかの人の新しいコミットがあれば止めてくれます。
$ git push origin --delete feature/search
要らなくなったリモートのブランチを消します。
よくある間違い・注意
- rejected と出たら、リモートに自分の知らないコミットがあります。先に git pull してから送ります。
- --force は、ほかの人が送ったコミットを消してしまうことがあります。使うなら --force-with-lease にします。
- main に直接 push せず、ブランチを送ってレビューしてもらうチームが多いです。
実際に打って練習する
Git コースの Lv32「届ける git push」で覚えます(第5章 遠征隊(リモート))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。
Lv1〜10 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。