准备:远程仓库名: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. CSS Margin(外边距)

    CSS Margin(外边距) 一.简介 CSS margin(外边距)属性定义元素周围的空间. margin 清除周围的(外边框)元素区域.margin 没有背景颜色,是完全透明的. margin ...

  2. Hive Shell常用操作

    1.Hive非交互模式常用命令: 1) hive -e:从命令行执行指定的HQL,不需要分号: % hive -e 'select * from dummy' > a.txt 2) hive – ...

  3. Hadoop 常用指令

    1. 察看hdfs文件系统运行情况 bin/hdfs dfsadmin -report 2. 为了方便执行 HDFS 的操作指令,我们可以将需要的 Hadoop 路径写入环境变量中,便于直接执行命令. ...

  4. ScrambleString, 爬行字符串,动态规划

    问题描述: Given a string s1, we may represent it as a binary tree by partitioning it to two non-empty su ...

  5. Eclipse关联JDK源码

    1. http://blog.csdn.net/weiwangchao_/article/details/25960961 2. 1.点 "window">"Pre ...

  6. hadoop2.6.0集群配置

    1.修改机器名 集群的搭建最少需要三个节点,机器名分别修改为master,slave1,slave2.其中以master为主要操作系统. 修改hostname: sudo gedit /etc/hos ...

  7. LeetCode 380. Insert Delete GetRandom O(1)

    380. Insert Delete GetRandom O(1) Add to List Description Submission Solutions Total Accepted: 21771 ...

  8. Java Object类的方法

    1. Java中所有的类都直接或者间接地继承自Object类.当没有显式地声名一个类的父类时,它会隐式地继承Object类. 2. Object类中定义了适合于任何Java对象的方法. String ...

  9. [嵌入式培训笔记]----Linux命令简介

    Linux文件系统的结构类似一棵树,是从一个树根生长出来的.树根叫做/.从树根长出很多分叉,就这么一直生长下去.我们使用Linux操作系统的时候总是落在某个分叉上.ls命令可以帮助我们查看当前分叉上所 ...

  10. linux-Centos7安装php

    先安装相关依赖包 yum install pcre pcre-devel zlib zlib-devel openssl openssl-devel gd gd-devel libjpeg libjp ...