git push 命用于从将本地的分支版本上传到远程并合并。git pull 其实就是 git fetch 和 git merge FETCH_HEAD 的简写。 命令格式如下:
git push <远程主机名> <本地分支名>:<远程分支名>
如果本地分支名与远程分支名相同,则可以省略冒号:
git push <远程主机名> <本地分支名>
实例
以下命令将本地的 master 分支推送到 origin 主机的 master 分支。
$ git push origin master
相等于:
$ git push origin master:master
如果本地版本与远程版本有差异,但又要强制推送可以使用 --force 参数:
git push --force origin master
删除主机但分支可以使用 --delete 参数,以下命令表示删除 origin 主机的 master 分支:
git push origin --delete master
以我的 https://github.com/liqiang88/runoops-git-test.git 为例。
在main 分支上创建一个分支develop:
$ git checkout -b develop
Switched to a new branch 'develop'
在develop 分支中添加index.php文件,如图:
提交并push到远程:
$ git add . $ git commit -m "add index file" g[develop 0b2e1ee] add index file 1 file changed, 3 insertions(+) create mode 100644 index.php $ git push -u origin develop # 推送到远程分支develop,并关联,以后可以直接用 git push 推送 Enumerating objects: 4, done. Counting objects: 100% (4/4), done. Delta compression using up to 6 threads Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 311 bytes | 311.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 remote: remote: Create a pull request for 'develop' on GitHub by visiting: remote: https://github.com/liqiang88/runoops-git-test/pull/new/develop remote: To github.com:liqiang88/runoops-git-test.git * [new branch] develop -> develop Branch 'develop' set up to track remote branch 'develop' from 'origin'.
重新回到我们的 Github 仓库,可以看到文件已经提交上来了。