玩了一天的Git

今天的逗比事

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
posted @ 2015-11-30 23:32  Andy啊  阅读(310)  评论(0编辑  收藏  举报