本篇博客总结下Git使用情况中遇到的异常情况并给出解决方案,关于Git的常用命令请移步我的另一篇博客《Git常用命令》

异常情况如下:

  1.git远程删除分支后,本地git branch -a依然能看到

  2.git中Please enter a commit message to explain why this merge is necessary

  3.git branch -a 无法显示全部的远程分支

  4.Git修改.gitignore不生效

  5.bash: syntax error near unexpected token `('

异常情况1:git远程删除分支后,本地git branch -a依然能看到

为配合公司Git管理规范,在gitlab后台删除了很多不用的分支,但在本地用git  branch -a命令查看时,发现被删除的分支仍然能看到

此时使用git remote show origin命令查看下远程分支的信息

git remote show origin

如上图所示,可以看到拉取,提交的地址,也可以看到所有的远程分支以及本地分支与远程分支的对应关系

上图中显示stale的分支是被删除的分支,根据提示,执行git remote prune origin清除已被删除的分支

git remote prune origin 

执行完毕后,使用git branch -r(只查看远程分支)查看,发现问题已经解决

异常情况2:git中Please enter a commit message to explain why this merge is necessary

今天在使用git时,git pull和git merge时,经常出现如下错误信息:

Please enter a commit message to explain why this merge is necessary.(请输入提交消息来解释为什么这种合并是必要的)

解决方法:

1.按“Esc”退出键

2.输入“:wq”,然后按下“Enter”键(说明:要输入英文状态下的冒号)

异常情况3:git branch -a 无法显示全部的远程分支

一般情况下,当我们想看到本地和远程的所有分支时,会使用git branch -a命令,但该命令有时候不会展示最新创建的远程分支,

下面以具体事例来说明现象及解决方法:

开始新任务的开发时,同事告知我新建了一个分支AllChannel_StoreOffLine1.0,但当我获取时发现看不到这个分支

此时,可以通过 git fetch  将本地远程跟踪分支进行更新,与远程分支保持一致。

执行完成之后,再次执行git branch -a查看所有分支,发现可以看到同事新建的远程分支AllChannel_StoreOffLine1.0

异常情况4:Git修改.gitignore不生效

在git中,如果想忽略某个文件,不让这个文件提交到版本库中,可以修改根目录中的.gitignore文件

但有时候把某些目录或者文件加入忽略规则,发现并未生效

未生效原因:.gitignore只能忽略那些原来没有被追踪(track)的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的

解决方案:先把本地缓存删除(改变成未track状态),然后提交

git rm -r --cached <要忽略的具体文件或者目录>
git add .
git commit -m "update .gitignore"

异常情况5:bash: syntax error near unexpected token `('

今天在拉取远程分支时,发现一直提示bash: syntax error near unexpected token `('

在网上查找资料后才知道,原来是因为分支名称中包含()的原因

解决方案:在每个()前加上\,有点类似转义的意思

参考链接:http://www.pfeng.org/archives/840

     http://www.cnblogs.com/malinlin/p/5004680.html

     http://blog.csdn.net/ailo555/article/details/52202276

Git异常情况汇总的更多相关文章

  1. 异常情况下的Activity生命周期分析

    情况1:资源相关的系统配置发生改变 资源相关的系统配置发生改变,举个栗子.当前Activity处于竖屏状态的时候突然转成横屏,系统配置发生了改变,Activity就会销毁并且重建,其onPause, ...

  2. python3 selenium 如何处理异常情况

    使用场景: 1.元素只有在某一特定情况下才会出现 2.元素定位不到 使用方法: try: except exceptions.NoSuchElementException: 举例说明: # _._ c ...

  3. mysql进阶(二十)CPU超负荷异常情况

    CPU超负荷异常情况 问题 项目部署阶段,提交订单时总是出现cpu超负荷工作情况,导致机器卡死,订单提交失败.通过任务管理器可见下图所示: 通过任务管理器中进程信息(见下图)进行查看,可见正是由于项目 ...

  4. 581. Shortest Unsorted Continuous Subarray连续数组中的递增异常情况

    [抄题]: Given an integer array, you need to find one continuous subarray that if you only sort this su ...

  5. axios对请求各种异常情况处理的封装

    前端网络请求封装 前端采用了axios来处理网络请求,为了避免在每次请求时都去判断各种各样的网络情况,比如连接超时.服务器内部错误.权限不足等等不一而足,我对axios进行了简单的封装,这里主要使用了 ...

  6. chales抓包,模拟异常情况

    抓包能做什么? 1 .可以抓取客户端和server的请求和返回,可以借助判断是客户端问题是server问题 2.可以模拟各种异常情况用来测试异常情况 3.无接口文档情况下测试接口 怎么修改你抓到的请求 ...

  7. Java项目中经常遇到的一些异常情况

    一. 1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存 ...

  8. Git异常:fatal: V1.0 cannot be resolved to branch.

    GitHub实战系列汇总:http://www.cnblogs.com/dunitian/p/5038719.html ———————————————————————————————————————— ...

  9. Git常用操作汇总(转)

    如果一个文件被删除了,可以使用切换版本号进行恢复.恢复方法: 先确定需要恢复的文件要恢复成哪一个历史版本(commit),假设那个版本号是: commit_id,那么 git checkout com ...

随机推荐

  1. 拉勾网招聘数据分析(Echarts, SQL, java)

    这次的数据分析与决策课程,我做的是通过爬取拉勾网上的招聘信息,并用爬取到的数据整体分析互联网行业数据,项目做得差不多了,先总结下吧,后边有时间了再完善. 主要工具:  Echarts, SQL, ja ...

  2. 微软虐我千百遍——记一次比较漫长的TFS数据库迁移

    起因 七月三日早晨刚到公司,同事就跟我讲TFS开始返回 TF30042错误,报告数据库已满.按照处理问题的第一直觉,我上bing的英文网站搜了一下,发现是部署TFS的时候使用的SQL Express限 ...

  3. 如何在家自制LED灯?很简单,我来告诉你!

    首先LED分凸头.平头和凹头,当中的凹头是没无方向性. 做示宽灯这类晚间才运用的光源,用凹头就好,它没无方向性,可将整个反光碗照亮. 做转向灯等指示性的光源用,准绳上应该用凸头的,它是个聚光镜,投映的 ...

  4. C# 定时器传值问题详解

    //传参数定时器 private static System.Timers.Timer aTimer;  Main(ApprovalID); public static void Main(int A ...

  5. 设置select标签的高度

    当无法给select标签设置高度的时候,给他加一个背景色,就可以设置了.

  6. int-整数+bool-布尔功能介绍

    int #创建和转换 #a = 123#a = int(123)#转换 #Age = "22"#Age = int(22)#1.当前整数用二进制表示的最小位数 # age = 50 ...

  7. HTML5头部标签中<meta>常用信息

    整理一些平时常用的,方便查阅 <!-- 字体编码 --> <meta charset="utf-8" /> <!-- 关键字 --> <m ...

  8. T4 代码生成 Demo (抽奖程序)

    参考自这位大狮的:  https://github.com/Pencroff/Dapper-DAL/blob/master/Dapper-DAL/Models/ModelGenerator.tt 项目 ...

  9. 移动端em与rem区别

    rem与em都是相对单位,我们使用它们的目的就是为了适应各种手机屏幕. rem是根据html根节点来计算的,而em是继承父元素的字体.比如下面一个demo <!doctype html> ...

  10. java多线程系列(三)---等待通知机制

    等待通知机制 前言:本系列将从零开始讲解java多线程相关的技术,内容参考于<java多线程核心技术>与<java并发编程实战>等相关资料,希望站在巨人的肩膀上,再通过我的理解 ...