目的学习如何提交更改到仓库。提交更改好,关于暂存谈得够多了。让我们提交已暂存的内容到仓库。当你先前使用 git commit 命令提交 hello.rb 文件的初始化版本到仓库时,你在命令行上的 -m 选项可以包含注释。commit 命令将允许你交互式地编辑提交的注释。现在让我们试试看。如果你从命令行忽略 -m 选项,那么 Git 将带你到所选的编辑器中。
在 Git 中分开暂存步骤是直到你需要使用源码控制处理的协调解决哲学。你可以继续对工作目录做更改,然后当你想要与源码控制交互时,Git 允许你使用精确地记录你所作的小提交来记录你的更改。例如,假设你编辑了三个文件(a.rb、b.rb 及 c.rb)。现在你想提交所有更改,但你想要 a.rb 和 b.rb 中的更改作为单个的提交,而 c.
目的学习如何暂存更改以用于稍后提交。添加更改现在告诉 Git 暂存更改,并检查状态。$ git add hello.rb$ git status你应该看到:$ git add hello.rb$ git status# On branch master# Changes to be committed:# (use "git reset HEAD <file>..." to unstage)## modified: hello.rb#对 hello.rb 文件的更改已被暂存。
目的学习如何监视工作目录的状态。更改“Hello, World”程序是时候更改我们的 hello 程序以便使它能从命令行传递参数。将文件更改为:puts "Hello, #{ARGV.first}!"检查状态现在检查工作目录的状态。$ git status你应该看到:$ git status# On branch master# Changes not staged for commit:# (use "git add <file>...
目的学习如何检查仓库的状态。检查仓库的状态使用 git status 命令检查当前仓库的状态。$ git status你应该看到:$ git status# On branch masternothing to commit (working directory clean)status 命令报告这儿没有什么要提交的。这意味着仓库具有工作目录的全部当前状态。这儿没有不同的更改要记录。
目的学习如何从零开始创建 Git 仓库。创建“Hello, World”程序在一个空的工作目录中开始,创建一个名为“hello”的空目录,然后创建一个名为 hello.rb 且包含如下内容的文件。$ mkdir hello$ cd hello文件:hello.rbputs "Hello, World"创建仓库你现在有一个包含单个文件的目录。要从该目录创建 Git 仓库,执行 git init 命令。
目的获得教程材料,并准备执行。获得教程包从以下地址获得 Git 教程包:http://gitimmersion.com/git_tutorial.zip解包教程包有一个主目录“git_tutorial”及三个子目录:html:HTML 文件。让你的浏览器打开 html/index.html。work:空的工作目录。你可以在这里创建仓库。repos:预先打包的 Git 仓库,这样你可以在教程中的任何地方跳转。
目的设置 Git 以便准备开始工作。设置姓名和 Email如果你以前从未用过 Git,那么你需要先做一些设置。执行下列命令以便让 Git 知道你的姓名和 Email。如果你已经设置了 Git,那么你可以跳到下一小节。$ git config --global user.name "Your Name"$ git config --global user.email "your_email@whatever.
本书简介沉浸式学 Git 是一份强调通过实践来掌握 Git 基础用法的指南。本书包含 52 个实验,这些实验经过精心设计,篇幅皆十分短小,只需几分钟时间便可完成。对于想要快速学习 Git 的朋友而言,这是一本不可多得的好书。关于作者jimJim Weirich Ruby 编程语言大师,开创了流行的构建工具 Rake。关于译者toy徐小东 a.k.
现在你应该对Atom核心APi和系统有了更深入的理解。
虽然到目前为止,你在开发一个包的时候,发布是最通常的行为,但是你还需要做一些其它的事情。撤销发布一个版本如果你错误地发布了你的包的一个版本,或者你发现了一个显眼的bug或安全漏洞,你可能想要撤销这个版本的发布。例如,如果你的包叫做package-name而且错误的版本是v1.2.3,你可以执行如下命令:apm unpublish package-name@1.2.3这会从 https://atom.
Atom包可以通过叫做服务的带有版本控制的APi,和其它包进行交互。在你的package.json文件中指定一个或者多个版本号来提供服务,每个版本号都要带有一个包的主模块中的方法。{ "providedServices": { "my-service": { "description": "Does a useful thing", "versions": { "1.2.3": "provideMyServiceV1", "2.3.
Atom中的一些包是Node模块,而不是Atom的包。如果你想要修改这些Node模块,例如atom-keymap,你需要把它们链接到不同于普通Atom包的开发环境中。把Node模块链接到你的Aton开发环境下面是运行node模块的本地版本的步骤,而不是Atom中的apm。我们使用atom-keymap作为一个例子:$ git clone https://github.com/atom/atom-keymap.
当一个窗口被刷新,或者从上一次会话恢复的时候,视图和它相关的对象会从JSON表达式中反序列化,它们在窗口上一次关闭时储存。要使你自己的视图和对象兼容刷新,你需要让它们很好地执行序列化和反序列化。包的序列化钩子你的包的主模块可以选择包含一个serialize方法,它在你的包反激活之前被调用。你应该返回JSON,它会交还给你作为下次调用activate的参数。
Atom支持语言特定的设置。你可以在Markdown文件中软换行,或者在Python中把tab的宽度设置为4。语言特定的设置只是一些东西的子集,我们把它叫做“作用域设置”。作用域设置可以只作用于一类特定的语法符号。比如你可以仅仅对Ruby的注释,Markdown中的代码段,或者JavaScript函数名称进行设置。语法符号中的作用域名称编辑器的每个符号都有一系列的作用域名称。
键表文件是以JSON或者CSON编码的文件,其中含有嵌套的哈希表。它们的工作方式像是样式表,但是它们指定匹配选择器的元素的快捷键的作用,而不是应用样式属性。
读取配置如果你想要编写一个可配置的包,你需要通过atom.config来整体读取配置,或者通过atom.config.get来读取一个具有命名空间的配置键的当前值。# read a value with `config.get`@showInvisibles() if atom.config.get "editor.showInvisibles"或者通过atom.config.observe来跟踪任何视图对象产生的修改。
可能在Textmate中有你喜欢或者使用过的主题和语法,并且你想要把它们转换到Atom中。如果是这样的话,你很幸运,因为有很多工具可以用来转换它们。转换 TextMate BundleTextMate bundle的转换允许你在Atom中使用TextMate的偏好、代码段和配色。让我们来为R语言转换TextMate bundle。你可以在Github上面找到其它现存的TextMate bundle。
我们已经通过一些例子查看并编写了一些spec,现在是更进一步查看spec框架本身的时候了。确切地说,你在Atom中如何编写测试呢?Atom使用Jasmine作为spec框架。任何新的功能都要拥有specs来防止回归。创建新的 specAtom的spec和包的spec都要添加到它们各自的spec目录中。下面的例子为Atom核心创建了一个spec。创建spec文件spec文件必须以-spec结尾,所以把sample-spec.
关注时代Java