`

Git的使用——Push

    博客分类:
  • Git
 
阅读更多

        git push命令用于将本地分支的更新,推送到远程主机。它的格式与git pull命令相仿   

$ git push <远程主机名> <本地分支名>:<远程分支名>

        注意:分支推送顺序的写法是<来源地>:<目的地>,所以git pull是<远程分支>:<本地分支>,而git push是<本地分支>:<远程分支>

 

       如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),如果该远程分支不存在,则会被创建。     

$ git push origin master

         上面命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。

 

        如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支。  

$ git push origin :master
# 等同于
$ git push origin --delete master

        上面命令表示,将当前分支推送到origin主机的对应分支

 

        如果当前分支只有一个追踪分支,那么主机名都可以省略        

$ git push

       

        如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用git push       

$ git push -u origin master

        上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。

 

        不带任何参数的git push,默认只推送当前分支,这叫做simple方式。此外,还有一种matching方式,会推送所有有对应的远程分支的本地分支。Git2.0版本之前,默认采用matching方法。现在改为默认采用simple方式。如果要修改这个设置,可以采用 git config 命令。       

$ git config --global push.default matching
# 或者
$ git config --global push.default simple

 

        还有一种情况,就是不管是否存在对应的远程分支,将本地的所有分支都推送到远程主机,这是需要使用-all选项。       

$ git push --all origin

        上面命令表示,将所有本地分支都推送到origin主机。

 

        如果远程主机的版本比本地版本更新,推送是Git会报错,要求在本地做git pull合并差异,然后在推送到远程主机。这是,如果你一定要推送,可以使用-force选项。     

$ git push --force origin

        上面命令使用--force选项,结果导致在远程主机产生一个"非直进式"的合并(non-fast-forward merge)。除非你很确定要这样做,否则应该尽量避免使用--force选项。

 

        最后,git push不会推送标签(tag),除非使用-tags选项。    

$ git push origin --tags

 

分享到:
评论

相关推荐

    Git常用得命令

    1.git branch—————&gt;查看本地分支 2.git branch -r —————-&gt;查看远程所有分支 3.git branch -a —————&gt;查看本地及远程得所有分支 ...9.git push origin 分支名:分支名 ————-&gt;本地分支提交远程 10

    Git学习札记——进阶

    如果我使用git log,我得到的提交信息是我仓库的一部分。把你当前在工作区中的修改暂时保存起来。然后工作区恢复到上一次提交时的状态。你可以去进行其他的工作了。gitstashlist显示当前工作区中包含的stash。...

    git原理详解及实用指南,分为18章md和pdf版本都有

    2:push 的本质 3:merge:合并 commits 4:Feature Branching:最流行的工作流 5:关于 add 6:看看我都改了什么 10高级 1:不喜欢 merge 的分叉?用 rebase 吧 11高级 2:刚刚提交的代码,发现写错了...

    Klaus 是一个使用 Python 开发的基于浏览器的 Git 仓库浏览器-python

    )超级容易设置——无需配置 语法高亮 Markdown + RestructuredText 渲染支持 Pull + Push 支持(Git Smart HTTP) 使用 Exuberant ctags 演示的代码导航: http://klausdemo.lophus.org 邮件列表:...

    《Docker —— 從入門到實踐­》正體中文版

    修改之後,首先 push 到你的庫,然後登錄 GitHub,在你的 repo 的首頁可以看到一個 pull request 按鈕,點擊它,填寫一些說明資訊,然後提交即可。 原出處及參考資料 Docker —— 从入门到实践 《The Swift ...

    16高级 7:reset 的本质——不止可以撤销提交(1).md

    上手 1:新公司用 Git 管理代码,怎么快速上手? 学习时长: 15分34秒 4 上手 2:团队工作的基本工作模型 学习时长: 9分32秒 5 进阶 1:HEAD、master 与 branch 学习时长: 15分41秒 6 进阶 2:push 的本质 学习时长: ...

    TestLocation

    或在命令行上创建一个新的存储库touch README.md git init git add README.md git commit -m "first commit" git remote add origin git push -u origin master ...或从命令行git remote add origin git push -u ...

    AndroidStudy:易文安卓学习记录

    或在命令行上创建一个新的存储库echo # AndroidStudy &gt;&gt; README.md git init git add README.md git commit -m "first commit" git remote add origin git push -u origin master ...或push an来自命令行的现有存储...

    20额外说点:.gitignore——排除不想被管理的文件和目录(1).md

    上手 1:新公司用 Git 管理代码,怎么快速上手? 学习时长: 15分34秒 4 上手 2:团队工作的基本工作模型 学习时长: 9分32秒 5 进阶 1:HEAD、master 与 branch 学习时长: 15分41秒 6 进阶 2:push 的本质 学习时长: ...

    5进阶 2:push 的本质(1).md

    上手 1:新公司用 Git 管理代码,怎么快速上手? 学习时长: 15分34秒 4 上手 2:团队工作的基本工作模型 学习时长: 9分32秒 5 进阶 1:HEAD、master 与 branch 学习时长: 15分41秒 6 进阶 2:push 的本质 学习时长: ...

    开源ERP项目Gooderp_Addons.zip

    使用openobject框架重写全部功能模块Why——为什么要做GOODERP1、OpenERP面向最终用户,GOODERP面向实施公司2、OpenERP项目由openerp公司主导,GOODERP项目由实施公司主导3、提高核心功能模块的稳定性和易用性,降低...

    15高级 6:代码已经 push 上去了才发现写错?(1).md

    上手 1:新公司用 Git 管理代码,怎么快速上手? 学习时长: 15分34秒 4 上手 2:团队工作的基本工作模型 学习时长: 9分32秒 5 进阶 1:HEAD、master 与 branch 学习时长: 15分41秒 6 进阶 2:push 的本质 学习时长: ...

    seitlab.github.io:SINCE实验室网站

    介绍 这是 SEIT Lab 网站的源... 如果您尚未测试更改,请不要推送提交(通过运行go.sh或执行git push )——所有更改都会立即发布在网站上。 如果 Git 吐出错误或警告,请不要推送提交。 不要在存储库中包含任何私人

    leetcode题库-Data-Dtructure-and-Dynamic-Programming:动态规划学习目录

    leetcode题库 Dynamic Programming and Data Structure(数据结构与动态规划) 由于一些敏感因素,因此之前GitHub的master...[ubuntu使用git的时:Warning: Permanently added the RSA host key for IP address '13.250.1

    Project_1_TTT:WDI SF 18 项目 1

    git push更新您的 gitHub 帐户上的存储库。 删除此文件的这一部分,即Workflow & Submission部分——您的文档中不需要它! 使用的技术 你在开发这个项目时使用了哪些技术? ###现有功能您的新井字游戏应用程序有...

    bookshare.io:我制作了一个网络应用程序来免费赠送我所有的书。 就是这个

    开始使用普通的git push heroku流程应该非常简单。 我 - 确实 - 使用 Postgres 的全文搜索功能,所以这将无法使用 MySQL 或 Sqlite 开箱即用 我使用 Mailgun 发送电子邮件,使用 Cloudinary 处理图像,使用 Stripe...

    高效运维之Docker持续部署图文详解

    基于这些情况,虽然我们专栏定位为运维管理性文字,但本篇是个特例,实操性的案例讲解——JAVA项目如何通过Docker实现持续部署(只需简单四步),即:开发同学通过gitpush上传代码,经Git和Jenkins配合,自动完成...

    4进阶 1:HEAD、master 与 branch(1).md

    上手 1:新公司用 Git 管理代码,怎么快速上手? 学习时长: 15分34秒 4 上手 2:团队工作的基本工作模型 学习时长: 9分32秒 5 进阶 1:HEAD、master 与 branch 学习时长: 15分41秒 6 进阶 2:push 的本质 学习时长: ...

    14高级 5:想丢弃的也不是最新的提交?(1).md

    上手 1:新公司用 Git 管理代码,怎么快速上手? 学习时长: 15分34秒 4 上手 2:团队工作的基本工作模型 学习时长: 9分32秒 5 进阶 1:HEAD、master 与 branch 学习时长: 15分41秒 6 进阶 2:push 的本质 学习时长: ...

Global site tag (gtag.js) - Google Analytics