76 lines
2.9 KiB
Markdown
76 lines
2.9 KiB
Markdown
---
|
||
title: Git Push
|
||
localeTitle: Git Push
|
||
---
|
||
## Git Push
|
||
|
||
`git push`命令允许您将提交从本地Git存储库中的本地分支发送(或_推送_ )到远程存储库。
|
||
|
||
为了能够推送到远程存储库,您必须确保**提交对本地存储库的所有更改** 。
|
||
|
||
该命令的语法如下:
|
||
|
||
```bash
|
||
git push <repo name> <branch name>
|
||
```
|
||
|
||
您可以通过命令传递许多不同的选项,您可以在[Git文档中](https://git-scm.com/docs/git-push#_options_a_id_options_a)了解有关它们的更多信息或运行`git push --help` 。
|
||
|
||
### 推送到特定的远程存储库和分支
|
||
|
||
为了推送代码,您必须首先将存储库克隆到本地计算机。
|
||
|
||
```bash
|
||
# Once a repo is cloned, you'll be working inside of the default branch (the default is `master`)
|
||
git clone https://github.com/<git-user>/<repo-name> && cd <repo-name>
|
||
# make changes and stage your files (repeat the `git add` command for each file, or use `git add .` to stage all)
|
||
git add <filename>
|
||
# now commit your code
|
||
git commit -m "added some changes to my repo!"
|
||
# push changes in `master` branch to github
|
||
git push origin master
|
||
```
|
||
|
||
要了解有关分支机构的更多信息,请查看以下链接
|
||
|
||
* [git checkout](https://github.com/renington/guides/blob/master/src/pages/git/git-checkout/index.md)
|
||
* [git branch](https://github.com/renington/guides/blob/master/src/pages/git/git-branch/index.md)
|
||
|
||
### 推送到特定的远程存储库及其中的所有分支
|
||
|
||
如果要将所有更改推送到远程存储库及其中的所有分支,可以使用:
|
||
|
||
```bash
|
||
git push --all <REMOTE-NAME>
|
||
```
|
||
|
||
其中:
|
||
|
||
* `--all`是表示您要将所有分支推送到远程存储库的标志
|
||
* `REMOTE-NAME`是要推送到的远程存储库的名称
|
||
|
||
### 使用force参数推送到特定分支
|
||
|
||
如果你想忽略在Github上对Git存储库进行的本地更改(大多数开发人员都对开发服务器进行热修复),那么你可以使用--force命令来忽略这些变化。
|
||
|
||
```bash
|
||
git push --force <REMOTE-NAME> <BRANCH-NAME>
|
||
```
|
||
|
||
其中:
|
||
|
||
* `REMOTE-NAME`是要将更改推送到的远程存储库的名称
|
||
* `BRANCH-NAME`是要将更改推送到的远程分支的名称
|
||
|
||
### 推动忽略Git的预推钩
|
||
|
||
默认情况下, `git push`会触发`--verify`切换。这意味着git将执行可能已配置的任何客户端预推脚本。如果预推脚本失败,那么git push也会失败。 (Pre-Push挂钩适用于诸如检查提交消息是否符合公司标准,运行单元测试等等)。有时,您可能希望忽略此默认行为,例如,在您希望将更改推送到功能分支以供另一个贡献者提取的情况下,但您的工作进度更改会破坏单元测试。要忽略该钩子,只需输入push命令并添加标志`--no-verify`
|
||
|
||
```bash
|
||
git push --no-verify
|
||
```
|
||
|
||
### 更多信息:
|
||
|
||
* [Git文档 - 推送](https://git-scm.com/docs/git-push)
|
||
* [Git钩子](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) |