作为一个还没有实际开发经验的程序员,对于版本控制多少有些陌生,我通常的做法就是项目名后面加数字标记版本,然后备注一个文档说明更新。据个人了解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. go通过名称来调用对应的方法

    仅仅是为了学习go语言中的反射. package main import ( "errors" "fmt" "reflect" ) func ...

  2. Freemarker的配置与使用

    1.在pro.xml配置文件中引入架包 <!--freemarker-->  <dependency>   <groupId>freemarker</grou ...

  3. EntitySpace 常用语句

    EntitySpace 这个是很早期的ORM框架,最近发现这个破解的也都不能用了.有谁知道能用的,联系我. 1. where带几个条件的 query.Where(query.ProductTempSt ...

  4. LTC 钱包部署

    基础环境 系统: CentOS 7.x nodejs: v4.6.0 zeromq: 4.x 安装nodejs + zeromq 基础依赖 yum install -y gcc make gcc-c+ ...

  5. 撩下Cookie和Session

    Cookie Cookie其实还可以用在一些方便用户的场景下,设想你某次登陆过一个网站,下次登录的时候不想再次输入账号了,怎么办?这个信息可以写到Cookie里面,访问网站的时候,网站页面的脚本可以读 ...

  6. 基于 python imageai 对象检测 目标检测 识别 视频

    1.视频连接如下: http://www.iqiyi.com/w_19s6vownit.html

  7. MSSQL数据库 "无法删除数据库 "***",因为该数据库当前正在使用" 解决方案

    --1 创建数据库 create database AAA --2 使用数据库 use AAA --3 在AAA数据库下创建table create table BBB ( bId ,) primar ...

  8. canvas_基于canvan绘制的双半圆环进度条

    效果图 实现原理: 1.使用canvas绘制两个半圆弧,底图灰色半圆弧和颜色进度圆弧. 2.利用setInterval计时器,逐步改变颜色进度条,达到进度条的效果. 效果代码: <!DOCTYP ...

  9. chrome://settings/content

    chrome://settings/content C:\Users\用户名\AppData\Roaming\Microsoft\Internet Explorer chrome://version/

  10. shellcheck 帮助你写出更好的脚本

    简介 shellcheck 是一款实用的 shell脚本静态检查工具. 首先,可以帮助你提前发现并修复简单的语法错误,节约时间.每次都需要运行才发现写错了一个小地方,确实非常浪费时间. 其次,可以针对 ...