原文: https://www.freecodecamp.org/news/the-git-push-command-explained/

git push 命令允许你将本地 Git 仓库中的本地分支的提交发送到(或推送)远程仓库。

为了能够推送到远程仓库,你必须确保你对本地仓库的所有修改都已提交

这个命令的语法如下:

git push <repo name> <branch name>

你可以在命令中传递一些不同的选项,你可以在 Git 文档中了解更多信息,或者运行 git push --help

推送到一个特定的远程仓库和分支

为了推送代码,你必须先克隆一个仓库到你的本地机器。

# 一旦克隆了一个 repo,你就会在默认的分支中工作(默认是`master')。
git clone https://github.com/<git-user>/<repo-name> && cd <repo-name>
# 执行更改并暂存你的文件(对每个文件重复 `git add` 命令,或者使用 `git add .` 来暂存所有文件)
git add <filename>
# 现在提交你的代码
git commit -m "added some changes to my repo!"
# 将 `master` 分支中的更改推送到 GitHub
git push origin master

要了解更多关于分支的信息,请查看以下链接:

推送到一个特定的远程仓库和其中的所有分支

如果你想把所有的修改推送到远程仓库及其中的所有分支,你可以使用:

git push --all <REMOTE-NAME>

其中:

  • --all 是表示你想推送所有分支到远程仓库的标志。
  • REMOTE-NAME 是你想推送到的远程仓库的名称。

使用 force 参数推送到特定的分支

如果你想忽略 GitHub 上对 Git 仓库所做的本地修改(大多数开发者都是为了对开发服务器进行热修复),那么你可以使用 -force 命令来推送,忽略这些修改。

git push --force <REMOTE-NAME> <BRANCH-NAME>

其中:

  • REMOTE-NAME 是远程仓库的名称,你想把修改推送到这个仓库。
  • BRANCH-NAME 是你要推送的远程分支的名称。

推送忽略 Git 的预推送钩子

默认情况下,git push 推送会触发 --verify 开关。这意味着 Git 会执行任何可能已经配置好的客户端预推送脚本。如果预推送脚本失败,Git 推送也会失败。(预推送钩子很适合做一些事情,比如,检查提交信息是否符合公司标准、运行单元测试等等)。偶尔你可能希望忽略这个默认行为,例如,你希望将你的修改推送到一个特性分支,让其他贡献者拉取,但你正在进行的修改会破坏单元测试。要忽略这个钩子,只需在推送命令中加入标志 --no-verify

git push --no-verify

更多信息