准备:远程仓库名:origin     远程分支:master、tt      本地分支:master、test

1. error: src refspec *** does not match any

原因:$ git push origin tt

将本地的tt分支推送到远程仓库origin的tt分支,如果远程tt分支不存在则会创建

而本地没有tt分支,故报错。

解决方法:$ git push origin test   ----> 保证本地分支和要推送的分支名一样,远程分支为test

或 $ git push origin test:tt    ----> 将本地的test分支推送到远程tt分支

下面使用第二种方法:

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

当要推送的分支名和远程分支名一致时,可缩写为: $ git push  <远程主机名> <分支名>

当要推送的当前分支名与远程分支名一致时,可缩写为: $ git push  <远程主机名>

例:$ git push origin test:master

将本地分支test推送到远程仓库origin的master分支上

$ git push origin test

将本地分支test推送到远程仓库origin的test分支上

$ git push origin

推送本地分支到相应的远程仓库origin的分支上,即本地tt分支对应远程tt分支

2. ![rejected]       **** -> master (fetch first)  更新拒绝

原因:远程仓库origin的master内容与本地test分支的内容不一样,而本地test分支在开发前没有更新代码,故提交时会出现更新拒绝。

解决方法:$ git pull origin master   ----> 需要拉下来远程仓库的哪个分支,就将master替换成那个分支名,因为上面是要将本地test分支提交到远程master分支,所以这里写的是master。(本地所在分支为tt分支)

3. 自动合并失败,合并冲突

在解决问题2的时候,可能会遇到合并冲突的问题:

原因:远程仓库master分支中有文件的内容有改动(例子中为bbb.txt文件)与本地test分支的内容不一样。

而 $ git pull origin master 相当于先 $ git fetch master 后再 $ git merge origin/master,

所以在merge时,发生了冲突事件。

解决方法:修改有冲突的文件后,重新git add 或 git commit -a,然后再git push

【pull用法$ git pull  <远程主机名> <远程分支名>:<本地分支名>

当要更新合并到本地当前分支时,可缩写为: $ git pull  <远程主机名> <远程分支名>

若当前分支与远程分支存在追踪关系,可缩写为:$ git pull  <远程主机名>

设置追踪关系:$ git branch --set-upstream <本地分支名> <远程主机名>/<远程分支名>

默认本地master分支自动”追踪”远程origin的master分支。

例:$ git pull origin master:test

取回远程origin的master分支,并与本地test分支合并

$ git pull origin master

取回远程origin的master分支,并与本地当前分支合并

$ git branch --set-upstream test origin/tt

指定本地test分支追踪远程origin的tt分支

$ git pull origin

本地的当前分支自动与对应的origin主机”追踪分支”(remote-tracking branch)进行合并

【merge用法将远程仓库分支与本地当前分支合并:$ git merge <远程主机名>/<远程分支名>

将本地其他分支与本地当前分支合并:$ git merge <本地分支名>
            例:$ git merge origin/tt

将远程origin的tt分支合并到当前分支

$ git merge test

将本地test分支合并到当前分支

4. Already up-to-date 和 Everything up-to-date

原因:Already up-to-date发生在merge时,Everything up-to-date发生在push时。

主要是因为merge/push的本地分支与远程分支一致,并无改变。

解决方法:正常开发即可。

Git 之 问题集锦的更多相关文章

  1. Git常用命令集锦

    本篇Git命令博客主要是一些Git常用命令,适合于有一定Git或linux基础的小伙伴进行参考 1.新建文件夹 mkdir 文件夹名 2.查看目录机构: pwd 3.将文件添加至Git管理范围:git ...

  2. git 命令使用集锦

    使用git mv重命名文件,而不是delete然后再add文件. git format常用命令: git format-patch -4 //从当前分支最新提交点往下共生成4个补丁 git forma ...

  3. 【Java】反射调用与面向对象结合使用产生的惊艳

    缘起 我在看Spring的源码时,发现了一个隐藏的问题,就是父类方法(Method)在子类实例上的反射(Reflect)调用. 初次看到,感觉有些奇特,因为父类方法可能是抽象的或私有的,但我没有去怀疑 ...

  4. Git问题集锦

    1.初始新建git,出现No refs in common and none specified; doing nothing 解决方案:Perhaps you should specify a br ...

  5. 手把手 git建立仓库,远程推拉及常用git命令和部分Linux命令集锦

    方法一:直接在GitHub上建立一个项目,然后git clone (git address name): 此时已经建立好了一个git仓库: cd 文件夹 > 添加文件进去 >git add ...

  6. git集锦

    git branch -v 查看本地分支 git branch xxx 创建本地xxx分支 git checkout xxx 切换到本地xxx分支 git branch -d xxx 删除本地分支 g ...

  7. Git 错误集锦

    执行git push提示Everything up-to-date 原因: ). 你想提交到分支, 却提交到主分支, 而主分支已经为最新, 查看当前分支是什么, git branch git push ...

  8. git 经常使用操作集锦

    创建仓库 新建普通仓库: jxdong@ubuntu-server:~/workspace/git$ git init Reinitialized existing Git repository in ...

  9. Git报错问题集锦

    git merge合并时遇上refusing to merge unrelated histories的解决方案 如果git merge合并的时候出现refusing to merge unrelat ...

随机推荐

  1. zookeeper可视化管理工具node-zk-browser安装

    一.安装nodejs 1. 下载 wget https://github.com/joyent/node/archive/v0.10.35.tar.gz 2. 解压 3. 安装依赖 yum -y in ...

  2. 20145307第一周JAVA实验报告

    20145307 <Java程序设计>第一次实验实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.04.08 ...

  3. 关于JavaScript对象,你所不知道的事(一)- 先谈对象

    这篇博文的主要目的是为了填坑,很久之前我发表了一篇名为关于JavaScript对象中的一切(一) - 对象属性的文章,想要谈一谈JavaScript对象,可那时只是贴了一张关于这个主题的思维导图,今天 ...

  4. [转]3个著名加密算法(MD5、RSA、DES)的解析

    MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2.MD3和MD4发展而来.     ...

  5. spring boot 使用拦截器,注解 实现 权限过滤

    http://www.cnblogs.com/zhangXingSheng/p/7744997.html spring boot 使用拦截器 实现 用户登录拦截 http://www.cnblogs. ...

  6. jquery tmpl模板

    之前用模板渲染都是用angular,无意间发现了jquery tmpl这种轻量级,其文档在这里 官方解释对该插件的说明:将匹配的第一个元素作为模板,render指定的数据,签名如下: .tmpl([d ...

  7. Web应用体系结构

    容器 Servlet没有main()方法,它们受控于另一个Java应用,这个Java应用称为容器(Container).我们最常见的tomcat就是这样一个容器. Web服务器应用(如Apache)得 ...

  8. 使用ASP.NET 的缓存机制的示例

    if (HttpContext.Current.Cache["code_" + CodeType] == null) { SysCodeService codeService = ...

  9. puma(5300✨) Rails的一个多线程,高并发处理的web server

    https://github.com/puma/puma 在开发和产品环境下,Puma是一个简单,快速,多线程,并高并发highly concurrent HTTP1.1server for Ruby ...

  10. [转]通过rsync+inotify-tools+ssh实现触发式远程实时同步

    文件的同步镜像在很多地方都需要用到,因此rsync这款免费软件得到了广泛的应用,包括在Windows平台上,都已经有了支持rsync的“cwRsyncServer”. 但是,我们一般都是通过结合cro ...