在使用SourceTree的时候经常会遇见超前一个版本,落后N个版本的情况,遇见这种情况应该怎么办呢? 首先打开终端,最好是从SourceTree里面打开,菜单栏有个终端按钮. 然后输入: $ git reset --hard HEAD^ 这句话的意思是将自己最近的一次提交撤销,回到push之前的状态.但是所有commit的内容就都消失了.非常不建议用这个参数,会牺牲太多的代码.. 如果不想让commit消失,可以改一下参数.用这个参数可以保证你提交的代码原封不动的保存下来.前提是你本地的工作台…
Git 将代码恢复到一个历史的版本 要把代码回到某个历史版本 比如 test有两种方法 暴力的方式 如果你的仓库是自己在用(不影响别人),那么你可以使用 git reset --hard <target_commit_id> 来恢复到指定的提交,再用 git push -f 来强制更新远程的分支指针.为了保证万一需要找回历史提交,我们可以先打一个 tag 来备份. 对于刚刚的例子,需要执行的命令就是: // 备份当前的分支到 backup_commit git tag backup_commi…
这两年一直都关注这IOCP在网络通信这方面的应用,当然数据的传递是经常需要的.今年接触了MsgPack格式,发现他用来做传输时数据打包真是太爽了.因为他可以直接打包二进制数据,不需要任何的转换.有人会说自己打包也不是什么难事,是的,没错.但是有标准的格式协议,为什么不直接使用.看了下msgpack的协议格式,压缩基本上做到了最大化.http://msgpack.org可以了解下它的协议格式. 我的主要工作是Delphi进行开发,Delphi里面有qmsgpack.自己也写了一个simpleMsg…
这个状态机http://www.cnblogs.com/flytrace/p/5587033.html的lua版本 -- LUA 有实现枚举值的好办法么 local sc_enum = { -- event flow be broke up none = "none", -- event flow pass througth next state forward = "forward", -- deffer a speciafic event --deffer =…
74-第一个错误的代码版本 代码库的版本号是从 1 到 n 的整数.某一天,有人提交了错误版本的代码,因此造成自身及之后版本的代码在单元测试中均出错.请找出第一个错误的版本号. 你可以通过 isBadVersion 的接口来判断版本号 version 是否在单元测试中出错,具体接口详情和调用方法请见代码的注释部分. 注意事项 请阅读上述代码,对于不同的语言获取正确的调用 isBadVersion 的方法,比如java的调用方式是SVNRepo.isBadVersion(v) 样例 给出 n=5…
1 Maven概念 Maven是一个构建项目和管理项目依赖的工具 2 Maven运行原理 这里需要引入两个词汇,叫 本地仓库.中央仓库 本地仓库:就字面意思,存储在自己电脑上的文件夹(需要自己手动创建本地仓库文件夹) 中央仓库:网址. 国外网址:[https://repo1.maven.org/maven2/ ] 国内网址 建议使用阿里镜像提高下载速度 3 Maven安装,Maven集成到elicpse,Maven配置 3.1 Maven安装 1.从官网下载 Maven官网地址:[https:/…
1 简介 最近在使用git时遇到了远程分支需要版本回滚的情况,于是做了一下研究,写下这篇博客. 2 问题 如果提交了一个错误的版本,怎么回退版本? 如果提交了一个错误的版本到远程分支,怎么回退远程分支版本? 如果提交了一个错误的版本到公共远程分支,又该怎么回退版本? 3 本地分支版本回退的方法 如果你在本地做了错误提交,那么回退版本的方法很简单 先用下面命令找到要回退的版本的commit id: git reflog 1 接着回退版本: git reset --hard Obfafd 1 0bf…
上周提交了更改,过了周末回来说要撤销上个story.于是,需要找到上周提交的版本,rollback回来. git版本管理命令,自从习惯使用管理工具之后就很少接触了,当突然寻找其他指令的时候就成浆糊了,ctrl+k只能顺利的提交而无关管理.因此,工具简化操作却弱化了技能.就像前几天听到的BBC 6分钟英语的一段对话. Rob说他当年在酒吧实习,对钱的加减算法很熟悉很强,因为那时候计算机还没有推广. 计算器的出现使人们放弃了自己计算的本领.有时候即便仅仅是简单的加减法也不愿用自己的脑袋计算了.不说好…
由于工作的需要,身为git的小白的我开始研究git相关的命令和操作.结合网上收集和廖雪峰的git教程,记录所学知识点. 相关的效果就不再这里显示了. 首先我们看一下git的常用命令: 常用命令 git init : 初始化仓库git add 文件名 :把文件添加到暂存区git commit -m "操作记录" : 提交到仓库,设置相关操作的记录 git status : 查看git状态,用于查看做了哪些的操作 git diff 文件名 : 在提交之前查看文件到底修改了什么,方便我们确认…
发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本.将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来.所以,标签也是版本库的一个快照. Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的. 在Git中打标签非常简单,首先,切换到需要打标签的分支上: $ git branch * dev master $ git check…