准备:远程仓库名: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. Python3.x:代理ip刷点赞

    Python3.x:代理ip刷点赞 声明:仅供为学习材料,不允许用作商业用途: 一,功能: 针对某网站对企业自动刷点赞: 网站:https://best.zhaopin.com/ 二,步骤: 1,获取 ...

  2. 分享基于Sails.js和React.js的全栈聊天室

    在线地址: http://fiora.suisuijiang.com/ 项目源码[ 路过求star(^_^) ]: 后端: https://github.com/yinxin630/fiora-bac ...

  3. HTTP-java访问https资源时,忽略证书信任问题,代码栗子

    java程序在访问https资源时,出现报错 sun.security.validator.ValidatorException: PKIX path building failed: sun.sec ...

  4. DCU项目总结

    1.什么是DCU 在某些基站无法覆盖的地方,如大型体育馆内部1楼.2楼..,此时通过DCU为这些地方提供信号 2.DCU组成 3.我们需要做的 PC通过进入UMPT网关,在一个网页中使用自定义指令集控 ...

  5. 2705: [SDOI2012]Longge的问题

    Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 1898  Solved: 1191[Submit][Status][Discuss] Descripti ...

  6. JVM反调调用优化,导致发生大量异常时log4j2线程阻塞

    背景 在使用log4j2打日志时,当发生大量异常时,造成大量线程block问题的问题. 一个关于log4j2的高并发问题:https://blog.fliaping.com/a-high-concur ...

  7. 如何使用openwrt下的分区表生成器ptgen

    1.基本用法如下: ptgen [-v] -h <heads> -s <sectors> -o <outputfile> [-a 0..4] [-l <ali ...

  8. 虚拟机网卡名称修改为 eth0

    默认网卡名称是 eno16777736 1.修改配置文件 ifcfg-eno16777736 [root@localhost ~]# cd /etc/sysconfig/network-scripts ...

  9. 【编程小题目7】求s=a+aa+aaa+aaaa+aa...a的值

    题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制 #include <iostr ...

  10. Hue的安装与部署

    Hue的安装与部署 hadoop hue Hue 简介 Hue是一个开源的Apache Hadoop UI系统,最早是由Cloudera Desktop演化而来,由Cloudera贡献给开源社区,它是 ...