写程序必然需要版本控制,哪怕是个人项目也是必须的。我们在开发UWP APP的时候,VS2015默认提供了对微软TFS和Git的支持。考虑到现在Git很火,作为微软系的程序员也不得不学一点防身,以免被开源世界的家伙们嘲笑。蜀黍我Git也是菜鸟一只(还请老司机多多指点),只会用VS2015和SourceTree这样的GUI工具点一点按钮,但是我相信用惯了SVN和TFS的童鞋们,需要一点勇气去学习一些新东西,特别是Git已经形成潮流,并且极大的推动了开源代码的交流学习。再说只要10分钟就能学会……基本的使用……

  首先要区分下Git和GitHub,前者是指一种版本控制软件,各个大厂可以有自己的具体实现。后者其实是指GitHub这个网站,它使用Git来提供代码托管的服务。而且只要是开源的项目就是完全免费的(不开源的项目蜀黍我自然是用TFS了,也是免费的)。

  本篇我们要创建一个新的工程,然后上传到GitHub。那么第一步就是去GitHub注册一个账号,这个怎么注册我就不写攻略了……我坚信不会有人卡在这一步的……注册成功后我们点击“New Respository”来创建一个Respository供我们提交代码用。填写Respository的名称,点击Create respository即大功告成

  创建成功后跳转到如下界面,我们通过右侧的按钮拷贝下Respository的URL,一会我们需要在VS2015中填写这个地址来提交代码。放心只需要填写一次,以后都是傻瓜式的点一点按钮。(说实话我挺受不了配置环境需要阅读上千字说明,再敲一堆不知所以的命令行)

  然后我们打开熟悉的VS2015,创建一个新的工程FirstAppInGit。创建成功后,我们需要找到Solution Explorer(解决方案管理器),选择“Add Solution to Source Control”

  因为本篇是为了学习在VS2015中使用Git,这次就选择Git并点击OK

  之后会自动打开Team Explorer窗口,因为还没有提交过任何文件,所有文件的状态都是“Add”。这时我们可以在Comment文本框中填写一些注释,比如“Create Project, first commit”之类的,然后点击Commit提交。

  点击提交后会提示说已在本地创建了Commit,可以通过Sync来提交到代码服务器。这个就是Git和SVN,TFS等版本控制软件的主要区别之一。在提交到代码服务器之前,Commit的内容是保存在本地的。

  这样做最明显的好处就是本地的Commit,在没有向代码服务器push前,不会影响到服务器端的代码,即使坑了也不会有人过来打你。

  同时本地Commit次数是没有限制的,可以将自己的代码慢慢修改,做多次的Commit,确认没有问题后,再做Push。

  Commit之后就可以做Push操作了,我们打开Sync页面。因为是第一次,实际尚未连接到Git的Repository,所以需要在Publish to Remote Repository的文本框中填写GitHub中创建的Repository对应的URL。

  我们将之前复制的URL粘贴到文本框中,再点击Publish按钮。上方的进度条开始滚动,不一会就会提示操作完成,这时我们可以去Respository页面检查一下。

  我们在打开GitHub的页面,转到对应的Respository页面,就会看到代码已经提交成功。

  至此,我们的UWP工程便托管在GitHub上了。如果代码有进一步的修改,需要Commit就点击Team Explorerl里的Changes按钮来进一步操作。如果需要Push提交代码或对应的拉取代码Pull,就需要通过Sync按钮来进行。

  是不是非常的简单易用?本篇有关VS2015使用Git的Hello World就到此结束,抛砖引玉欢迎老司机指点。

UWP开发入门(十九)——10分钟学会在VS2015中使用Git的更多相关文章

  1. Kinect for Windows SDK开发入门(十九):Kinect Fusion

        Kinect for Windows SDK1.7中引入了Kinect Fusion功能.在1.8的SDK中对该功能进行了改进和强化,Kinect Fusion能够使得我们使用Kinect f ...

  2. UWP开发入门(九)——简单界面的布局技巧及屏幕适应

    嘿嘿嘿,题目比较绕哈.本篇主要讨论一般情况下,页面的布局技巧,怎么将元素的展现尽量做到分辨率无关.基本的思路仍然是尽量少的标定具体的数字,而是用比列来标注各元素占据的空间. 这里我打算用易信的名片页来 ...

  3. UWP开发入门(十)——通过继承来扩展ListView

    本篇之所以起这样一个名字,是因为重点并非如何自定义控件,不涉及创建CustomControl和UserControl使用的Template和XAML概念.而是通过继承的方法来扩展一个现有的类,在继承的 ...

  4. 10分钟学会搭建Android开发环境 Eclipse: The import android.support cannot be resolved

    10分钟学会搭建Android开发环境_隋雨辰 http://v.youku.com/v_show/id_XNTE2OTI5Njg0.html?from=s1.8-1-1.2 The import a ...

  5. UWP开发入门(十六)——常见的内存泄漏的原因

    本篇借鉴了同事翔哥的劳动成果,在巨人的肩膀上把稿子又念了一遍. 内存泄漏的概念我这里就不说了,之前<UWP开发入门(十三)——用Diagnostic Tool检查内存泄漏>中提到过,即使有 ...

  6. emacs最简单入门,只要10分钟

    macs最简单入门,只要10分钟  windwiny @2013    无聊的时候又看到鼓吹emacs的文章,以前也有几次想尝试,结果都是玩不到10分钟就退出删除了. 这次硬着头皮,打开几篇文章都看完 ...

  7. UWP开发入门系列笔记之(一):UWP初览

    标签: 随着微软Build2015带来的好消息,Win10正式版发布的日子已经离我们越来越近了,我们也终于欣喜地看到:一个统一的Windows平台对于开发人员来说充满了吸引力,这局棋下的好大的说--于 ...

  8. 10分钟学会Linux

    10分钟学会Linux有点夸张,可是能够让一个新手初步熟悉Linux中最重要最主要的知识,本文翻译的英文网页在众多Linux入门学习的资料中还是很不错的. 英文地址:http://freeengine ...

  9. UWP开发入门(25)——通过Radio控制Bluetooth, WiFi

    回顾写了许久的UWP开发入门,竟然没有讲过通过Windows.Devices.Radios.Radio来控制Bluetooth和WiFi等功能的开关.也许是因为相关的API设计的简单好用,以至于被我给 ...

随机推荐

  1. 防止ViewPager中的Fragment被销毁的方法,更加流畅

    在使用ViewPager与Fragment的时候,ViewPager会自动缓存1页内的数据,如下图: 当我们当前处在页面2的时候,页面1和页面3的View实际上已经创建好了,所以在我们拖动的时候是可以 ...

  2. SimpleTemplate模板引擎开发

    模板引擎相信大家是经常使用的,但是实现原理估计没多少人知道(你要是说不就是replace嘛,那我也无话说了...). 先来看看这个SimpleTemplate想实现的是什么功能吧: 是个C#端的模板引 ...

  3. Material Design练习

    最近写了个小应用练习material design的控件使用,使用豆瓣V2 API访问豆瓣电影,程序很小,也就用了几个API而已,能够显示北美票房榜.电影排行榜,查看电影详情,以及进行电影搜索,可惜豆 ...

  4. Asp.net Core CacheHelper 通用缓存帮助类

    using System; using Microsoft.Extensions.Caching.Memory; using System.Runtime; namespace UFX.Tools { ...

  5. Aspose转PDF时乱码问题的解决

    主要原因是服务器上一般安装的字体都是有限的,而我们日常生活工作中总是喜欢用一些比较特别的字体,比如宋体GB2312,这时候如果用Aspose转PDF就会出现乱码,解决方法也比较简单,把本地的特殊字体拷 ...

  6. vue开发资料

    http://cn.vuejs.org/v2/guide/ (vue框架手册)https://router.vuejs.org/zh-cn/ (vue框架路由手册)https://github.com ...

  7. 同时大量PPPoE连接请求,攻击PPPoE服务器,导致的用户异常掉线故障分析

    前几天接一个客户电话,PPPoE下用户异常掉线,掉线后拨号困难 到达后,我首先查看PPPoE日志,发现一秒钟内有大量PADI包,浪费服务器的SESSION,同时让服务器无法处理其他用户的请求. 打开W ...

  8. LINQ TO ENTITY 根据Birthday获取Age

    from emp in EmployeeInfo let years = EntityFunctions.DiffYears(emp.Birthday.Value,DateTime.Now) let ...

  9. Why restTemplate.put() throws “HttpClientErrorException: 404 Not Found”

      I make a put request RestTemplate restTemplate = new RestTemplate(); restTemplate.put(new URI(&quo ...

  10. RedRabbit——基于BrokerPattern服务器框架

    RedRabbit 经典网游服务器架构 该图省略了专门用途的dbserver.guildserver等用于专门功能的server,该架构的优点有: l LoginGate相当于DNS,可以动态的保证G ...