実行前の状態
README.md を 1 回コミットして、
このorigin.git) で
ターミナル
git init -q --bare -b main origin.git
git init -q -b main hello
cd hello
echo "# hello" > README.md
git add README.md
git commit -q -m "README を作る"
git remote add origin ../origin.git
git push -q -u origin main
echo "start" >> README.md
git commit -q -a -m "README に説明を足す"最小の例と結果
送り先を
ターミナル
git pushTo ../origin.git
a1b2c3d..9f8e7d6 main -> mainTo ../origin.gitは送り先です。 GitHub なら https://のようなgithub .com/ ... 住所が出ます。 a1b2c3d..9f8e7d6は、リモートの 先頭が 前の コミットから 新しい コミットへ 進んだという 意味です。 番号は 手元では 別の 英数字が出ます。 main -> mainは、手元の main を リモートの main へ 送ったという 意味です。
成功の確認
git status -sb の 1 行目に [ahead 1] が
ターミナル
git status -sb## main...origin/mainターミナル
git statusOn branch main
Your branch is up to date with 'origin/main'.
nothing to commit, working tree cleanYour branch is up to date with 'origin/main' は、
構文と 主要オプション
| 書き方 | すること |
|---|---|
git push | 送り先を |
git push -u origin main | origin の main へ |
git push origin <ブランチ名> | 指定した |
git push --tags | タグを |
git push --force-with-lease | 作り直した |
失敗時の戻し方
push は、
送った
履歴は
ターミナル
git revert a1b2c3d
git pushgit push --force で
パスワードや鍵を
あとから
送り先が
git push だけをfatal: The current branch main has no upstream branch. とgit push -u origin main と
よくある疑問
rejected と 出て、 push が 弾かれます
リモートに、
ターミナル
git pushTo ../origin.git
! [rejected] main -> main (fetch first)
error: failed to push some refs to '../origin.git'このhint の
先に git pull でgit push --force で
push したのに、 GitHub の 画面に出ません
送った
push は 何を 送りますか
送るのはgit status で、
