作为一个还没有实际开发经验的程序员,对于版本控制多少有些陌生,我通常的做法就是项目名后面加数字标记版本,然后备注一个文档说明更新。据个人了解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. [洛谷P4768] [NOI2018]归程 (kruskal重构树模板讲解)

    洛谷题目链接:[NOI2018]归程 因为题面复制过来有点炸格式,所以要看题目就点一下链接吧\(qwq\) 题意: 在一张无向图上,每一条边都有一个长度和海拔高度,小\(Y\)的家在\(1\)节点,并 ...

  2. Spark的Shuffle过程介绍

    Spark的Shuffle过程介绍 Shuffle Writer Spark丰富了任务类型,有些任务之间数据流转不需要通过Shuffle,但是有些任务之间还是需要通过Shuffle来传递数据,比如wi ...

  3. 2、MySQL常见数据库引擎及比较?

    MySQL存储引擎简介 MySQL支持数个存储引擎作为对不同表的类型的处理器.MySQL存储引擎包括处理事务安全表的引擎和处理非事务安全表的引擎: MyISAM管理非事务表.它提供高速存储和检索,以及 ...

  4. JS的prototype和__proto__

    一.prototype和__proto__的概念 prototype是函数的一个属性(每个函数都有一 个prototype属性),这个属性是一个指针,指向一个对象.它 是显示修改对象的原型的属性. _ ...

  5. Qualcomm platform, the commonly used parameters of charger and battery in device tree file

    Platform MSM8917 PM8937 PMI8940 Parameters 1 battery charging voltage : qcom,float-voltage-mv = < ...

  6. 更新T1表,要添加一个条件A,但T1表没有A字段

    可以这样 如果T2表有A字段,T1.T2表有共同字段B,可以通过T2表A字段为条件查得B字段 再用B字段为条件去更新T1表 update T1 set C = '1' where B in(selec ...

  7. 算法题之Median of Two Sorted Arrays

    这道题是LeetCode上的题目,难度级别为5,刚开始做没有找到好的思路,以为是自己智商比较低,后来发现确实也比较低... 题目: There are two sorted arrays nums1  ...

  8. 经典卷积网络模型 — VGGNet模型笔记

    一.简介 VGGNet是计算机视觉组(Visual Geometry Group)和Google DeepMind公司的研究员一起研究的深度卷积神经网络.VGGNet探索了卷积神经网络深度与性能之间的 ...

  9. python中eval函数使用

    把字符串转换为字典: s = "{'a':1}" eval(s)

  10. [路由] -- Yii2 url地址美化与重写

    转载:http://blog.csdn.net/lmjy102/article/details/53857520