报错

情况一:git pull报错

There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull() for details. git pull <remote> <branch> If you wish to set tracking information for this branch you can do so with: git branch --set-upstream-to=origin/<branch> release

其实,输出的提示信息说的还是比较明白的。

使用git在本地新建一个分支后,需要做远程分支关联。如果没有关联,git会在下面的操作中提示你显示的添加关联。

关联目的是在执行git pull, git push操作时就不需要指定对应的远程分支,你只要没有显示指定,git pull的时候,就会提示你。

解决方法:

就是按照提示添加一下呗:

git branch --set-upstream-to=origin/remote_branch  your_branch

其中,origin/remote_branch是你本地分支对应的远程分支;your_branch是你当前的本地分支。

或者使用

git push origin xxx

情况二:git push报错

To github.com:michaelliao/learngit.git
! [rejected] dev -> dev (non-fast-forward)
error: failed to push some refs to 'git@github.com:michaelliao/learngit.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

这是因为远程分支比你的本地更新,有人先于我们提交代码到远程

解决方法:

拉取最新代码,然后在push

git pull

情况三:git add报错

案例一:

Changes not staged for commit

可是我们明明有修改啊!

解决方法:

目录层级不对,找到正确的再次执行命令

案例二:

The following paths are ignored by one of your .gitignore files:
App.class
Use -f if you really want to add them.

因为这个文件被我们忽略了

解决方法:

强制提交

git add -f xxx 

疑问

情况一:别人在远程库中已经新建好了一个分支,我们想要在本地创建该分支

git checkout dev/master

git pull

git branch -r

git checkout origin/xxx -b xxx

git push origin xxx

情况二:开发新的项目时,我们肯定要新建分支,如果我们/别人已经在远程库中新建了一个分支,如果我们也要在该分支上开发,那么可以在本地直接从该远程库中创建分

支(实际上同上)

git checkout origin/item-1.9-1125(远程分支名) -b item-1.9-1125(本地分支名,无所谓叫什么) : 切远程分支到本地,这样远程分支和本地分支就关联起来了,push的话只会push到该远程分支

情况三:当我们改完代码,而且是第一次push,发现push不上去时

git push origin 分支名 -> push到远程

情况四:如果我们两个人同时完成一个项目,并且在各自的分支开发,上预发环境或者上线的时候我们需要将两人的代码merge到一个分支,此时我们需要新建一个分支,

将两人的代码merge到该分支,用这个分支上预发和上线

假定现在两人都开发完,准备合代码的分支叫item-merge

a: 从当前的分支新建分支item-merge

git checkout -b item-merge (已经新建了item-merge分支,该分支包含a的代码)

b: 已经将自己的代码push到item-merge

a: git fetch (拉下新分支)

git pull origin item-merge (该分支为想要拉取代码的分支,这样我们就将别人的代码拉到了我们的这个分支)

⚠️在情况四的基础上,如果第一个人先push到后端并部署了,第二个人在push时会提醒先pull,pull之后发现会有冲突,那么我们在后端库中找到对应的文件解决冲突

“Accept CurrentChange”接受当前更改,之后在push

情况六:如果我们在本地修改了两个文件a、b,没有add也没有commit,此时我们想要丢弃对a文件的修改,但保留对b文件的修改

git checkout a(想要丢弃的文件名)

情况七:现有a、b两个文件,且内容相同,我们修改了a文件,如果想要b文件中也有a文件中的修改

git checkout b

git merge a

这样我们就将a文件的内容合并到了b文件

情况八:发现pull不下来

可能不是在当前分支修改的,要checkout到修改的分支,然后pull,然后checkout回自己的分支,merge一下,之后add、commit、push

情况九:错误merge怎么办

Git错误merge怎么办?

Git怎样撤销一次分支的合并Merge

git merge了错误分支,如何优雅的回退到merge前的状态?

版本回退

情况九:我只想让一个文件回退到之前的版本

git checkout commitid xxx(文件名)

Git复习(十)之常见报错和疑问的更多相关文章

  1. Git常用命令及常见报错:You have not concluded your merge (MERGE_HEAD exists)、清理无效的远程追踪分支

    一.常用命令 切换到master分支:git checkout master 查看已有本地及远程分支:git branch -a(先git pull拉下全部数据) 查看远程分支:git branch ...

  2. Veritas NetBackup™ 状态码"十大"常见报错状态码

    我在刚开始学习Netbackup的时候,没少走弯路.经常会遇到各种稀奇古怪的 error 信息,遇到报错会很慌张,急需一个解决问题的办法.跟无头苍蝇一样,会不加思索地把错误粘到百度上,希望赶紧查找一下 ...

  3. Mysql 常见报错和疑问汇总

    1.初始化数据库的时候报错 error while loading shared libraries: libstdc++.so.5: cannot open shared object file:  ...

  4. 03:git常见报错解决方法

    1.1 git常见报错解决方法 1.warning: LF will be replaced by CRLF in .idea/workspace.xml. 参考博客:https://www.cnbl ...

  5. web报表工具FineReport使用中遇到的常见报错及解决办法(二)

    web报表工具FineReport使用中遇到的常见报错及解决办法(二) 这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己. 出现问题先搜一下文档上有没有,再看看度娘 ...

  6. java常见报错及解决

    Java常见报错信息: Java 常见异常种类 Java Exception: 1.Error  2.Runtime Exception 运行时异常 3.Exception  4.throw 用户自定 ...

  7. HDFS集群常见报错汇总

    HDFS集群常见报错汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.DataXceiver error processing WRITE_BLOCK operation 报 ...

  8. JavaScript 调试常见报错以及原因

    JavaScript 调试常见报错以及原因 测试环境 chrome 版本 66.0.3359.170(正式版本) (64 位) TypeError 类型错误 不是操作符所接受的数据类型. //---- ...

  9. Nginx 常见报错

    Nginx 常见报错 启动报错:[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) 原因:这个是nginx重启时经常遇到 ...

随机推荐

  1. SRS之SrsRtmpConn::service_cycle详解

    1. SrsRtmpConn::service_cycle 当服务器在 conn 线程的开始调用 connect_app 函数接收并解析客户端发送的 connect 消息后,调用该 service_c ...

  2. 定时任务-Quartz(热部署、冷部署)

    一.配置Quartz.xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context ...

  3. Mysql的exist与in的区别

    如果查询的两个表大小相当,那么用in和exists差别不大. 如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in:    例如:表A(小表),表B(大表)   1: s ...

  4. DP&图论 DAY 4 上午

    DP&图论  DAY 4  上午 概率与期望 概率◦某个事件A发生的可能性的大小,称之为事件A的概率,记作P(A).◦假设某事的所有可能结果有n种,每种结果都是等概率,事件A涵盖其中的m种,那 ...

  5. python|爬虫东宫小说

    2k小说网爬取最近大火的<东宫>小说,借鉴之前看过的一段代码,修改之后,进行简单爬取. from urllib import requestfrom bs4 import Beautifu ...

  6. LinuxE2系统刷机后OSCAM安装与读卡器设置

    我也属于E2小白,最近才开始玩这个系统.从dinobot 4k+,到H7s,在到H5,各种E2机器都买了.刚开始入手的时候,怎么这么麻烦?慢慢的发现,烧新,玩E2也是一种乐趣,只不过最近困扰我的刷机后 ...

  7. makeObjectsPerformSelector的使用

    NSArray 类定义的方法: makeObjectsPerformSelector:这是数组用的方法,类似于for循环. makeObjectsPerformSelector:@selector(m ...

  8. 【AMAD】coconut -- 简单,优雅,pythonic的函数式编程语言

    动机 简介 个人评分 动机 作者的话: 我喜欢函数式编程,我认为函数式编程提供了一个更自然的方式来思考问题,并且代码也更加优雅,易读.不过如果你看过前20个最受欢迎的编程语言,你会发现没有一个式函数式 ...

  9. 【DSP开发】【计算机视觉】EMCV:可在DSP上运行的OpenCV

    EMCV:可在DSP上运行的OpenCV EMCV项目主页: http://sf.net/projects/emcv EMCV全称为Embedded Computer Vision Library,是 ...

  10. Web Service简介与开发实例

    简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的 ...