今天的逗比事

Git从学习到使用,也有2个月时间了,一开始也就看看廖雪峰老师的Git教程,跟着做了一遍,感觉非常受用。
遇到一些忘掉的命令,再回去查查也基本都没问题。
但是今天缺遇到了逗比事,回过头来才发现是git出了问题

背景

我开发的这个模块代码主要是2个分支:master和develop。
合并进master的代码一般都是能够直接上stage测试然后上生产的。
我一般都是在develop分支上工作,偶尔也会新建一个其它的分支。
由于最近新加的功能点比较多,所以develop分支比master超前了好多。
然而今天又要上架新的商品(没有后台,也就是由我来手动生成sql,然后放到测试环境测试),但是测试环境现在放的是develop分支的代码(昨天刚放上去的)。
所以现在就要切换到master分支,然后打包发布到服务器用于新上架商品的测试。

开搞

首先考虑到develop直有在master上添加东西,并没有对原先的东西造成修改,所以理论上使用develop分支也是可以的。
然而把develop分支上代码打包放上去的时候,跑了一下提示 “unknow source”。
这个错误还是认识的,就是不认识这个类。
这里提一下:我们把通用的model类以及接口作为一个单独的maven项目(后面就称作common包),应用层服务层使用maven依赖来得到这些类。
想想不对啊,common项目之前deploy过啊,难道说之前deploy的不是最新版本的?
于是回去再查看了下:
git status
发现没啥可更新的。。。
。。。
然后折腾了半天还是先放弃了,准备切换到master,用master的吧。
至于敲了啥命令,我自己都忘了,总之就是用了checkout 啥啥啥的。
然后再测试api的时候提示出错了:蹦出一个develop上才有的东西,说common中找不到。
然后我就蒙了,明明是master,哪来的新功能。
然后想了半天,真的就是半天,就吃饭去了

找出问题

回来后再想了一下,还是不知道为什么出了这个莫名其妙的问题,于是只好去问带我的人。。。
对,我的问题太奇葩了,他只好自己来打包了。
然后他用了他的电脑打包,就可以了。
看来git上的东西是没用问题的,问题就出在我使用git的姿势。
不过公司的事要紧,今天要上线的商品,先给他弄出sql,测试了,我再去琢磨问题到底出在哪了。
后来想了想,一定是我checkout的时候命令敲错了,master并不是真正的master,而是把在develop上新建了一个叫做master的分支,所以才出现了新的版本。
最后测试环境他们都不用了,我再把develop分支给放上去试试,发现用了checkout的正确姿势以后就这里就没有问题了。
对,其它地方还有问题。嫌我的common版本太老,老问题了。
后来我在eclipse上push了一下,然后想要在这边环境拿一下新的更新的,还是
git status
发现没效果,突然回过神来了,怪不得没效果,应该是git pull嘛。
于是,问题都解决了,跑起来了。。

总结

** git查看本地分支**

git branch

** git查看远程分支**

git branch -r

** git查看所有分支**

git branch -a

** git切换到远程分支**

git checkout -b 本地分支名 远程分支名

** git获取更新**

git pull

玩了一天的Git的更多相关文章

  1. [少数派]如何学习Git

    用玩游戏的方式学习 Git 目录 为什么要学习 Git 怎么学习 Git Learn Git Branching 其他学习资源 用游戏的方式来学习,是一种有趣而高效的方式. 从刚接触电脑时的打字练习软 ...

  2. git配置多仓库

    git配置多仓库 github , gitee , coding , gitlab , gitlab.company ..... 真TM多 . 真TM多 . 真TM多 . 生成ssh 生成ssh 密钥 ...

  3. Eclipse上传Git远程仓库,并且增加Maven Dependencies

    前言: 遇见问题了,公司一台电脑,家里一台电脑,当有项目在进行的时候,又不想把电脑背来背去的,就像一个人玩单机,这个时候GIT就可以帮你解决这个问题.当GIT准备就绪的时候,新的问题来了git下载下载 ...

  4. 原生ES6写的Web游戏:ES6-Mario,小美女,小帅哥快来玩啊~~

    ? ES6-Mario 这是一个用原生ES6语法和HTML5新特性写成的Web 游戏. 通过这个项目,你可以在实践中对ES6的主要内容.HTML Canvas 相关API以及Webpack的基础配置有 ...

  5. git-两小时简单使用教程

    两小时学会Git玩转Github 1. 了解Git和Github 1.1什么是Git Git是一个免费.开源的版本控制软件 1.2什么是版本控制系统 版本控制是一种记录一个或若干个文件内容变化,以便将 ...

  6. git分布式版本控制玩法

    git分布式版本控制玩法 Git distributed version control play github的配置安装步骤:1.下载git bash(从http://www.git-scm.com ...

  7. 2015继续任性——不会Git命令,照样玩转Git

    最近事情比较多,一眨眼,已经半个月没有写博客了~不得不感慨光阴似箭啊!当然,2015年有很多让我们期待的事情,比如win10正式版..NET开源.VS2015等等.想想都让人兴奋啊~~ 为了迎接VS2 ...

  8. 玩转Git入门篇

    最近项目使用到Git管理项目,所以就学习了一番,随然网上关于 Git的文章铺天盖地,我还是整理下总结下自己学习Git相关笔记,希望也能帮助到需要他的小伙伴们,O(∩_∩)O~ 简介 Git 是分布式版 ...

  9. 学习 Git 玩转 GitHub

    原文地址:学习 Git 玩转 GitHub 博客地址:http://www.extlight.com 一.基本了解 1.1 什么是版本控制系统 版本控制系统是一种记录一个或若干个文件内容变化,以便将来 ...

随机推荐

  1. iOS 阶段学习第25天笔记(iOS沙盒机制介绍)

    iOS学习(OC语言)知识点整理 一.iOS沙盒机制介绍 1)概念: 每个ios应用都有自己的应用沙盒,应用沙盒就是文件系统目录,与其他应用放入文件 系统隔离,ios系统不允许访问 其他应用的应用沙盒 ...

  2. MVC之前的那点事儿系列(9):MVC如何在Pipeline中接管请求的?

    文章内容 上个章节我们讲到了,可以在HttpModules初始化之前动态添加Route的方式来自定义自己的HttpHandler,最终接管请求的,那MVC是这么实现的么?本章节我们就来分析一下相关的M ...

  3. jquery easyui 弹出消息框 (转载) jQuery EasyUI API 中文文档 - 消息框(Messager) http://www.cnblogs.com/hantianwei/archive/2012/03/19/2407113.html

    <html> <head> <!-- 导入easyui插件的js和css样式; --> <link rel="stylesheet" ty ...

  4. 【LeetCode】389 Find the Difference(java)

    原题 Given two strings s and t which consist of only lowercase letters. String t is generated by rando ...

  5. textview滑动效果

    网上很多在xml中改的我经过试验没用,可能是版本不兼容的原因,但在java代码中改有用head_tv1.setEllipsize(TextUtils.TruncateAt.MARQUEE);head_ ...

  6. excel下划线转驼峰公式

    最近为了省事,决定从excel将表结构生成jquery.datatable的json对象结构,其中要把下划线转驼峰,如下: =LEFT(C251,1)&MID(SUBSTITUTE(PROPE ...

  7. ADO.NET(数据访问技术)

    简单的说,C#已经内置了一些类,我们可以利用这些类来访问数据库.在这里,我们假设读者已经熟悉SqlServer数据库或者其它数据库(我以后也会补上相关内容).我们如何来实现这项技术呢?大致可以分为三个 ...

  8. 成为 Web 开发大师你必须知道的 7 件事情

    曾经是这样的,懂点编码,并可以偶尔耍点酷,那么你就会被认为是一个Web开发大师.但是现在,情况再也不是这样的了.Web开发已经朝着主流方向发展,开发人员数量显著增加.这意味着,如果你想成为这个领域的大 ...

  9. 【web前端面试题整理07】我不理解表现与数据分离。。。

    拜师传说 今天老夫拜师了,老夫有幸认识一个JS高手,在此推荐其博客,悄悄告诉你,我拜他为师了,他承诺我只收我一个男弟子..... 师尊刚注册的账号,现在博客数量还不多,但是后面点会有干货哦,值得期待. ...

  10. div水平居中

    1.先给它外层的div定位并left:position:absolute;left:50%; 2.获取当前元素div的宽度,并除以2 3.改变它的css:margin-left:-(获取当前元素div ...