本篇博客总结下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. sql求和isnull注意事项

    如果不用isnull函数判断则计算出来如果有一列是null 则相加就是null,如 两列:1 null 1+null = nullselect sum(ISNULL(jinE,0)+ISNULL(qi ...

  2. [leetcode-560-Subarray Sum Equals K]

    Given an array of integers and an integer k, you need to find the total number of continuous subarra ...

  3. Linux下配置tomcat+apr+native应对高并发

    摘要:在慢速网络上Tomcat线程数开到300以上的水平,不配APR,基本上300个线程狠快就会用满,以后的请求就只好等待.但是配上APR之后,Tomcat将以JNI的形式调用Apache HTTP服 ...

  4. container_of 的用法

    1.问题:如何通过结构中的某个变量获取结构本身的指针???关于container_of见kernel.h中:/*** container_of - cast a member of a structu ...

  5. CSS input type="number"出现上下箭头时解决方案

    input type="number"时录入内容不可控制,解决方案是在css中添加//火狐input[type=number] {      -moz-appearance:tex ...

  6. java基础(11) -JDBC

    java基础(11) -JDBC jdbc 1.装载驱动 载入跟数据库建立连接的驱动 /* sql server: String className ="com.microsoft.sqls ...

  7. 通过线程监控socket服务器是否done机

    现实中的socket可能会因为各种原因done机,但这么重要的服务器怎么能允许这种事情发生?这次我们就来通过一个线程去监控socket服务器,如果done机重新将其启动. 下面是监控项目和socket ...

  8. ES6的转换器

    ---恢复内容开始--- ES6代码转为ES5代码的转换器 1.Babel 2.Traceur,Google公司出品 Babel是一个广泛使用的ES6转码器,可以将ES6代码转为ES5代码,从而在现有 ...

  9. (转载)WebSphere MQ安装过程

    参考文档: http://www.ibm.com/developerworks/cn/linux/linux-speed-start/l-ss-mq/

  10. [基础架构]PeopleSoft Application Server 重要文件说明

    我们都知道PeopleSoft是由几个不同的服务组成的,他们在PeopleSoft体系结构中扮演着自己的角色.这些服务具有不同的文件结构并包含重要的可执行文件和配置文件. 以下是Peoplesoft体 ...