作为一个还没有实际开发经验的程序员,对于版本控制多少有些陌生,我通常的做法就是项目名后面加数字标记版本,然后备注一个文档说明更新。据个人了解svn用的比较多,我也学习了一点,无非是本地下载一个服务器端,再下一个客户端,模拟一下操作罢了,真正做起来难免觉得有点乏味,所以也没有深入下去。

在我找工作的时候,曾今有人给我一个任务,让我用mongoDB+springMVC+freemark两天之内做一个demo,然后上传到git上他去看。在这里还是要感谢这个人,在我简历上的公布的技术之外布置了这个任务,开阔了我的视野,刺激了我进一步去学习springMVC和git,也了解了下非关系型数据库mongodb。因为和别的公司签了合同要去上班最终没有做下去,但是他提到的技术我都去了解并试着去学习了,收货颇多。

而对于git,其实早有耳闻,记得最初打开github网站,一进去都是英文,当时就退缩了,也怪自己没有远见和胆识,走走停停好几次。如今我终于迈开步伐,在好奇心的驱使下开始摸索,学习的过程中发现教程少的可怜,所以在此简单总结下,针对到目前最新版本的github的个人使用方法,大神就此移驾吧。

个人使用(基于初学者的图形界面使用)

客户端以github  for windows 为例,服务器端直接在github网站上查看。

一.上传项目源码

1.Github网站注册账号

2.下载github for windows(xp貌似不支持)

3.本地登陆(什么SSH的也免了,自动完成)

4.创建仓库(可指定目录)       如E:\github\SpringMVC_demo(SpringMVC_demo为仓库名)

5.复制需要上传的项目到该仓库目录下(.gitattributes和.gitignore是随仓库自动创建的)

6.客户端自动刷新(提示有未提交的改动)

7.提交更新:点击show,添加主题和详细描述,然后commmit。这个提交只能说是对于本地仓库的提交。

8.注意右上角的变化,点击右上角的Publish Repository,可以把该仓库推送到远程服务器端

9.Github网站上查看提交(网速慢的话还要等待页面刷新)

二.简单版本控制

1.修改该仓库中版本1目录下的一个叫备注的文本文件,git自动检测到修改,同第一次拖进去的一样提示你。

注意:如果没有在本地提交,只是在一个暂存区中,那么可以说git不认可你的修改,肯定也无法同步到远程仓库。

2.添加描述,然后提交,右上角显示一个未同步。

提示:如果只是本地稍加修改,或者想后面重大升级后一起提交,那么无需同步

如图:可以看下差异,绿色表示添加部分,红色表示删掉的部分,都是以当前版本为基线。

3.在这里我们先回滚刚才的提交的test,自动生成一个描述为Revert ‘test’的版本,右上角显示两次未同步。

4.假如我们前面拖过来的是第一个版本,现在我们做了升级,开发工具这边可以直接在第一个版本的基础上继续开发,因为这边本地仓库有了备份。完成了版本2,我们可以直接把新版拖过来。现在又显示有未提交的代码,一样处理。

提示:版本二的差异开始显现,打开有红色标记的文件,可以明显看到差异。同时右上角显示有三次未同步。

我们特意来看看刚才的test部分,回滚之后很显然变化又是相对于Revert ‘test’版本的,说明这是在一条主线上进行的,有一个指针前后移动来控制版本。

5.我们再来同步一下,看看远程仓库的变化,很显然看出来手动的4次提交都有记录了。

这个时候如果我们需要版本1的代码怎么办,我想如果代码量小的话可直接在当前版本的视图下copy,但是个人开发的话我们通常只是比较差异,自己做的一看都能回忆起来。真正需要代码的恐怕就是他人了,这时可以去github下载或者克隆。

这里因为个人能力有限,只是介绍了入门级的简单玩法,至于团队开发,参与开源项目等等,以后再作介绍吧。对于本文中不足之处,敬请指正!

Git的入门级玩法的更多相关文章

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

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

  2. git的简单玩法

    本篇笔记参考廖雪峰的git教程,为方便查看将命令部分提取并记录下来. 无意对原作的版权侵犯,如需要学习请到廖雪峰网站学习git 创建git仓库 # mkdir learngit && ...

  3. Python的生成器进阶玩法

    Python的生成器进阶玩法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.yield的表达式形式 #!/usr/bin/env python #_*_coding:utf-8 ...

  4. 【转】4G18的低成本NA玩法

    首先是要再次强调一次,4G18的缸径是76MM,冲程是87.5MM.属于典型的长冲程低转发动机! 这种设计的优点是比较适合市区走停的工作状况,省油. 如果要针对改装方案而言因为这种低转时便可输出大扭矩 ...

  5. openresty+lua在反向代理服务中的玩法

    openresty+lua在反向代理服务中的玩法 phith0n · 2015/06/02 10:35 0x01 起因 几天前学弟给我介绍他用nginx搭建的反代,代理了谷歌和维基百科. 由此我想到了 ...

  6. 接口测试的N中玩法

    在我看来接口测试相对其他类型的测试是比较简单的.对于最常见的HTTP接口,只需要知道接口的 URL.方法.参数类型.返回值 ... 就可以对接口进行测试了. apifox 如果你是入门级选手,那么ap ...

  7. [C#] 软硬结合第二篇——酷我音乐盒的逆天玩法

    1.灵感来源: LZ是纯宅男,一天从早上8:00起一直要呆在电脑旁到晚上12:00左右吧~平时也没人来闲聊几句,刷空间暑假也没啥动态,听音乐吧...~有些确实不好听,于是就不得不打断手头的工作去点击下 ...

  8. 自定义 checkbox 新玩法 ?

    自定义 checkbox 新玩法 ? 第一步:selector 编写 drawable/selector_checkbox_voice.xml <?xml version="1.0&q ...

  9. 【第1期】腾讯云的1001种玩法征集,Ipad mini和Kindle 等你拿!(文章评审中)

    版权声明:本文由阁主的小跟班原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/695994001482226944 来源:腾云 ...

随机推荐

  1. 51Nod 1133 不重叠的线段 | 典型贪心

    Input示例 3 1 5 2 3 3 6 Output示例 2 题意:给出n条一维线段,求不重合的最多线段数. 解析:这个是典型的贪心算法的区间问题. 贪心策略:每次取尽可能短的区间,而且保证相互之 ...

  2. LightOJ 1321 - Sending Packets 简单最短路+期望

    http://www.lightoj.com/volume_showproblem.php?problem=1321 题意:每条边都有概率无法经过,但可以重新尝试,现给出成功率,传输次数和传输时间,求 ...

  3. MyBatis框架的使用及源码分析(二) 配置篇 SqlSessionFactoryBuilder,XMLConfigBuilder

    在 <MyBatis框架中Mapper映射配置的使用及原理解析(一) 配置与使用> 的demo中看到了SessionFactory的创建过程: SqlSessionFactory sess ...

  4. @JsonField 修改json字段属性名称

    在前后端分离的开发方式中,经常会遇到后端字段名称和前端字段名称定义不一致的问题,比如,后端定义的Bean中的字段名称为createAt,而前端用的字段名称为createTime.这种情况下可以通过在前 ...

  5. 安装在Linux下的jenkins执行windows下的bat命令

    launch method里面没有 launch agent via java web start 默认是disable 需要改成random 转载自: http://blog.csdn.net/so ...

  6. PAT L2-017. 人以群分

    题目链接:https://www.patest.cn/contests/gplt/L2-017 题目: 社交网络中我们给每个人定义了一个“活跃度”,现希望根据这个指标把人群分为两大类,即外向型(out ...

  7. winform Textbox像百度一下实现下拉显示

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  8. Python 对象模型 -- (转)

    面向对象的纯粹性 在很久很久以前,C++还被称为面向对象语言(现在一般称为多范式通用语言),人们就对C++的面向对象的纯粹性提出了质疑,主要有以下几点: 并非所有的对象都是对象(很拗口?),比如指针本 ...

  9. Python学习笔记 - day11 - Python操作数据库

    MySQL的事务 MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关,MySQL的两种引擎如下: 1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID ...

  10. Linux 入门记录:八、Linux 文件系统

    一.文件系统 操作系统通过文件系统管理文件及数据,磁盘或分区需要创建文件系统之后,才能被操作系统所用,创建文件系统的过程又称之为格式化.没有文件系统的设备又称之为裸设备(raw),某些环境会需要裸设备 ...