原文地址:http://bbs.9ria.com/thread-259587-1-2.html

”我确信Git是强大的,但是它看起来很复杂——我依然会坚持我当前的工作流“就像说“我也敢肯定像FlashDevelop 和SublimeText也是非常强大的,但是他们看起来也是很复杂——所以我仍然坚持用Notepad”。当然,学习这个确实要走些弯路,但是你的生活中确实有不可以缺少它,这看起来很愚蠢。在这篇文章中,我会解释为什么Git(还有GitHub)会这么伟大,还有会为你演示如何让你快速入门。



笔记:我在这里说得最多的是关于苹果系统上的版本控制,像Subversion,当然还有很受欢迎的Git,如果你有这样的选着自由的话,我推荐你选择它!



到底Git能为你做些什么



Git对于所有的游戏开发者来说都是有好处的,无论是独立开发还是团队开发。现在先让我们看一看最大的好处:



Git能够让回撤销所有你做过的改变



最重要的一点是,当你请求这个游戏的工作目录时,Git能让你获取到这样的一个”快照“,你还可以随时都可以恢复到任何的快照中。



这和那些当你为你的游戏生成一个新的版本时就为你弄一个整个文件的副本不一样,它相对来说更好。或者以电子邮件的形式给你发送一段带有描述的代码,这样的话你就不会丢失他!



另外,你还不被局限在同一条线上进行撤销和重做;你可以将你的整个项目分成一个树状结构的快照,你可以随意根据自己的意愿去将会不同分支的快照。意思就是你可以在你的1.1版本中添加一个新的特性,然后将它恢复到1.0版本,这样就能完成一个Bug的修复;或者你也可以用来试验你的特性,如果它让你不满意,你可以将它报废掉;或者让你的手机和平板项目虽然在一起,但是却相对对立开来!





Git不仅仅能够让你注释你的代码,它还能够让你注释你的作品!



事实上,Git并不是让你能够为你的代码添加注释——它是鼓励你去做这样的事情,甚至是要求你这样做!基本上,无论什么时候你保存一个快照,你就已经为你的上一个快照的改变写了一个注释。



下面是有关Tiled的几个示例注释,这是一个我们之前提到的关卡编辑器:

 



除了让你能够更加容易地在你的项目中找到一个特定的点(这个通常能够帮助你追踪到Bug产生的原因),还能让你养成一个良好的开发习惯:你会发现你会将自己的工作分厂很多小任务,这样做能够让你为每个部分都做个通过一个简短的注释就能完整地描述到它,比同时在8个不同的事情之间工作好多了!



Git能够让你更好地访问到其它的项目



到目前位置,我一直在谈论的是Git,它只是一个想ZIP或者email或FTP的软件。对比一下GitHub,它是一个能够让你保存你的快照的网站(或者是你整个的项目)。



其实还有其它保存Git的网址,当然还有一种可能就是你用你自己的服务器去保存你的Git项目的快照,但是到目前为止,GitHub是最好的。你可以认为他像Gmail:它可能并不是唯一基于Web的电子邮件应用程序,但是对于很多人来说它是。



有很多游戏或者是游戏工具都在GitHub在开源的,例如想Tiled(这个我之前提到过)还有Starling的框架这个我们之前也提到过)。这意味着你不仅可以下载到最新版本的Starling框架的一个zip的文件和可以将它提取到你的项目中,你也可以将它导入到你的项目中,这样它就会在它有变化的时候自动更新。



你也可以在问题建议中提出某些建议或者反映一些bug:



 



或者你也可以对这个项目弄一个本地的副本(通过"fork"),你可以在这个项目中添加你自己的功能或者修正某些bug,你可以提交这个自己项目给项目原本的持有者,并建议他合并成为主要版本。



(你会发现很多我们放到GitHub上的源文件都是从Tuts上读取到的-这样做的主要原因是为什么呢?)



Git能够让你更好地与其他的开发者进行协作



以上的所有理由使得Git对所有的独立开发者来说都是非常宝贵的!但是这些好处对团队开发来说本来也是非常方便的:

  • 相对于通过邮件附件共享所有东西或者Dropbox,在团队里面利用Git(无lung是通过GitHub的高端私人计划或者是其它托管方法)会使交流更加的简单。
  • 由于每个被添加到项目中的快照都带有一个附上注释和作者的标记,所以这样很容易追踪到是谁做了些什么。
  • 每个在团队中的人都能修改他们自己的代码,当你觉得你的代码可以的时候你可以将它提交到你的主项目中(从而能够避免破坏项目)。

Git也有一个功能让你能够合并不同的代码在一起,它能够让你很好地去处理冲突而不是盲目地覆盖项目的某些部分。



Git的搭建



过去安装Git和搭建它是一件很复杂的事情,因为涉及到要使用一些列的命令行去生成“SSH键”或者“ugh”。但是现在确实非常简单:你所要做的是就只用想在GitHub
forWindows
 或者 GitHub forMac。当让,我知道我曾经告诉过你GitHub是一个在网络托管Git的快照的网站,但是这里我只是告诉你通过安装GitHub去使用Git。这就会让人疑惑:GitHub应用是一个让你安装到Git并为你提供一个良好的接口的软件,它同时也提供另外一个选择让你能够在网页上托管你的快照。



其实不用太过担心这个问题。你只需要更具你的系统去下载并且安装它就可以了!除非你是使用Linux,这样的话我恐怕你要走一个相当复杂的过程



开始使用Git



我将会教你如何为你最近的游戏或者项目搭建Git,这样你就能真正地用到它,并不是随便的一些假的练习。我现在正在使用的GitHub的Windows版本,但是这些步骤和Mac上的版本有很多的相似之处。我现在假设bfxr就是我现在在用的工作项目,当然其实这并不是真的。



打开GitHub,然后点击创建开始创建一个新的”repo“(是”repository的简写“,这个是为你的游戏或者项目存储快照的地方)。你要为你的项目输入一个名字和描述,然后使用默认的路径就可以了(你不需要把它放到特定的目录中),最后要注意的是不要勾选Pushto
github



 



双击你新创建的知识库就可以在应用程序中打开它:


 





你会看到它会提示你有两个文件需要”提交“(这个将会以一个快照的形象添加到知识库中);这里还有Git的配置文件,所以要为它在CommitMessage 框中键入一个简单的注释并点击 Commit:


 



现在点击 tools(工具)>open inexplorer(从资源管理器中打开),然后就能打开这个项目的Git工作目录。那里除了两个配置文件之外什么都没有(还会隐藏一个后缀为.git的文件,这个文件或许你会看不到):


 



然后将你的项目全部都复制进这个文件夹里面(虽然看起来很乱,起码这样可以让你放心,因为如果你某些东西出错的时候你还存有一个备份)。


 



现在我们回到Windows的GitHub——它会通知你有新的文件出现了:


 



将这些代码都提交,这样你就搭建了你的第一个基础知识库了!现在在你的项目中改变某个文件,你可以添加一个新的文件或者修改已经存在的文件:


 







现在又回到Windows版本的GitHub,然后它就会检测到这些文件。提交这些改变,从unsyncedcommits(为同步提交)列表中点击revertcommit(恢复提交)。你现在会有一个新的注释,这个注释是从之前的注释中恢复的——这些开起来可能有点让人迷惑,但是这以为这你现在能跟踪到每一个你所做出的改变!


 

检查一下你这是项目中的文件夹:





你的新文件(或者是你其他文件的改动)已经没有了。如果你喜欢的话,你可以恢复这个恢复,仍然会在你的注释列表中添加一条注释,或者会滚到之前你在列表中它被移除的位置。



总结



就这些?虽然是,但是事实上也不是。我将这篇文章的素材都放到GitHub上了,所以你可以在这个网址上做一些“增强”练习(建议你添加一下你想添加的东西),记录一些“bugs”(例如似乎这篇文章的问题).



如果你确实很喜欢冒险,你可以尝试一下将这篇文章“保存”到你的电脑上,然后添加你自己的东西,然后提交一个添加的请求让它添加到这个网站上...如果这些对你来说不感兴趣,不用担心,下一个版本将会包含更多的细节。

原文链接:http://gamedev.tutsplus.com/tutorials/business/git-and-github-for-game-developers/

翻译词数:1409

【转】译—游戏开发者应该如何应用Git和GitHub的更多相关文章

  1. 腾讯云GAME-TECH游戏开发者技术沙龙(深圳)开启报名啦~

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~. 作者:由腾讯游戏云发表在云+社区 腾讯云GAME-TECH沙龙继1月杭州站后,将于3月30日来到深圳站,与游戏厂商和游戏开发者,畅聊游戏安 ...

  2. 游戏安全有多重要?——GAME-TECH游戏开发者技术沙龙

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由云+社区运营团队发布在腾讯云+社区 腾讯云GAME-TECH沙龙继3月深圳站后,将于4月13日来到北京站,与游戏厂商和游戏开发者,畅聊 ...

  3. 工作流程,编程,调试,性能:Unity游戏开发者应该学习的20个改进技巧

    Unity 是一个备受欢迎的游戏开发平台.它的功能令人印象深刻,同时也迎合了不同的游戏开发需求.游戏开发者可以使用 Unity 创建任何类型的游戏,从世界级的 RPG 游戏到最流行的增强现实游戏 Po ...

  4. 知物由学|游戏开发者如何从容应对Unity手游风险?

    本文由  网易云发布. "知物由学"是网易云易盾打造的一个品牌栏目,词语出自汉·王充<论衡·实知>.人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不 ...

  5. 知名游戏开发者称 C++ 是一种非常糟糕、可怕的语言(C++不是一门可怕的语言,可怕的是一群没有耐心的程序员来使用C++这门语言)

    抛出一个问题:C++ 真的很可怕吗? 2016 年底,C++ 之父 Bjarne Stroustrup 在一次采访中表示:”C++ 让编程专家很容易编写出复杂.高性能.低资源消耗的代码,但不足以成为广 ...

  6. Cocos引擎现身 IndiePrize 全球游戏开发者大会!Cocos的两大男神成为压轴嘉宾

    2019全球游戏开发者大会今天11月10日,在深圳南山海上世界文化艺术中心拉开帷幕.除了号称精品游戏"奥斯卡"的IndiePrize将在现场展开最终角逐,更有来自美国.俄罗斯.澳大 ...

  7. Git 一些关于 Git、Github 的学习资源

    一些关于 Git.Github 的学习资源 昨天浏览 Github 的是时候发现了 Githug 这个游戏,这个游戏用来帮助菜鸟们学习使用 Git 的. Githug is designed to g ...

  8. 【风马一族_git_github】git与github的英文记录

    Pull requests  Issues Gist 请求 问题 要点 ---------------------------------------------------------------- ...

  9. 本地代码git到github上

    本地代码git到github上 对于个程序员来说,不写自己的博客,没有自己的作品集没有Github就不算好的程序员!咳咳~ 开个玩笑.对于我个人来说,要做个程序员,就要有自己的作品集和技术博客(我说是 ...

随机推荐

  1. iOS开发之App主题切换完整解决方案(Swift版)

    本篇博客就来介绍一下iOS App中主题切换的常规做法,当然本篇博客中只是提到了一种主题切换的方法,当然还有其他方法,在此就不做过多赘述了.本篇博客中所涉及的Demo完全使用Swift3.0编写完成, ...

  2. vue实现图书管理demo

    年后公司的项目要求用到vue.js知识,我angular没有学,node.js和react也只是了解了一点点,所以学起来比较困难.如果你想学vue.js的知识,推荐网址:http://vuejs.or ...

  3. Ansible之 Inventory 资源清单介绍

    一.Inventory 库存清单文件 1.Inventory 作用 Ansible 可以在同一时间针对多个系统设施进行管理工作.它通过选择Ansible 资源清单文件中列出的系统,该清单文件默认是在/ ...

  4. [solr] - solr5.2.1环境搭建 - 使用tomcat做为容器

    这里忽略solr其他依赖环境的搭建,这里搭建solr5.2.1.使用Java1.7.0_17,tomcat使用6.0.36版本的. 1.下载solr压缩文件 Solr是Apache基金组织在lucen ...

  5. jquery和javascript的区别(常用方法比较)

    jquery 就对javascript的一个扩展,封装,就是让javascript更好用,更简单.人家怎么说的来着,jquery就是要用更少的代码,漂亮的完成更多的功能.JavaScript 与JQu ...

  6. phpcms v9更改后台文章排序的方法

    后台文章排序怎么才可以按自己输入的数字排列?如按4,3,2,1,从大到小排列?实现方法如下: 修改文件: phpcms\modules\content 中的 content.php 代码如下: $da ...

  7. linux oracle 10g tar.gz :xhost: unable to open display

    关于这个问题,最总要的一点是要理解xhost的作用,是干什么的,在下面的介绍中可以基本了解到,只要这个问题解决了,oracle就可以顺利安装了(这是建立在我还没碰到其它问题的基础上). 1. 以roo ...

  8. SuperWebClient -一个基于CURL的.NET HTTP/HTTPS模拟神组件(2)

    今天我们讨论SuperWebClient组件使用中的几个简单主题 1: UserAgent2: Cookies3: POST登录 1:UserAgent这个是客户端标识信息,此信息是用于鉴别正在访问W ...

  9. 下载安装Cygwin

    下载程序 http://www.cygwin.com/ 安装程序 下载完成后,运行setup.exe程序,出现安装画面. 直接点“下一步”,出现安装模式的对话框,如下图所示: 这里可以看到有三种安装模 ...

  10. 谈JavaScript的继承

    最近在忙前端的工作,因为之前做.net和php的开发比较多,前端开发喜欢把库拿来就用,几次事实证明,不懂原理,连改代码也改不好,所以还是下定决心研究下JavaScript的几个技术难点. 0x1.Ja ...