Git是那些设法将大量现代计算封装到一个程序中的罕见应用程序之一,最终成为许多其他应用程序的计算引擎。 尽管它最着名的是跟踪软件开发中的源代码更改,但它还有许多其他用途,可以使您的生活更轻松,更有条理。 在4月7日Git成立14周年之前的系列文章中,我们将分享7种鲜为人知的Git使用方法。 今天,我们将探讨作家可以使用Git完成工作的方式。

作家的Git

有些人写小说。 其他人则撰写学术论文,诗歌,剧本,技术手册或有关开源的文章。 许多每个都做一点。 共同点是,如果您是一名作家,则可能会从使用Git中受益。 尽管Git是计算机程序员使用的一种高度技术性的工具,但它对于现代作者来说是理想的选择,本文将演示Git如何改变您的书写方式以及您希望这么做的原因。

不过,在谈论Git之前,重要的是要讨论真正的副本 (或内容 ,对于数字时代),以及为什么它与您的交付媒介不同。 这是21 世纪 ,和选择的大多数作家的工具是一台电脑。 尽管计算机看似擅长将复制编辑和布局等过程组合在一起,但作家毕竟正在(重新)发现将内容与样式分开是个好主意。 这意味着您应该在像打字机而不是文字处理器的计算机上进行书写。 用计算机术语来说,这意味着用纯文本编写。

用纯文本书写

过去一直是一个安全的假设,即您知道自己要针对哪个市场。 您为书,网站或软件手册编写了内容。 但是,这些天来市场趋于平缓:您可能决定在印刷书籍项目中使用为网站编写的内容,并且印刷书籍可能会在以后发布EPUB版本。 对于您内容的数字版本,阅读您内容的人是最终控制者:他们可以在您发布内容的网站上阅读您的文字,或者他们可以点击Firefox出色的Reader View ,或者可以打印成实际内容纸张,或者他们可以使用Lynx将网页转储到文本文件中,或者由于使用屏幕阅读器,他们可能根本看不到您的内容。

将您的单词写为单词是有意义的,而将交付内容留给发布者。 即使您也是您自己的发布者,将词作为写作的一种源代码也是一种更聪明,更有效的工作方式,因为在发布时,您可以使用相同的源(您的纯文本)生成适合您目标的输出(用于打印的PDF,用于电子书的EPUB,用于网站HTML等)。

用纯文本编写不仅意味着您不必担心布局或文本样式,而且也不再需要专门的工具。 无论是手机或平板电脑上的基本记事本应用程序,与计算机捆绑在一起的文本编辑器,还是从互联网上下载的免费编辑器,任何能够产生文本的内容都将成为您的有效“文字处理器”。 无论您身在何处或在做什么,您都可以在几乎任何设备上书写,并且您生成的文本可以与项目完美集成,而无需进行任何修改。

而且,Git方便地专门管理纯文本。

Atom编辑器

当您以纯文本形式编写时,文字处理程序会显得过大。 使用文本编辑器更容易,因为文本编辑器不会尝试“有帮助”地重组输入。 它使您可以将脑海中的单词输入屏幕,而不会受到干扰。 更好的是,文本编辑器通常是围绕插件体系结构设计的,这样应用程序本身就非常基础(它可以编辑文本),但是您可以围绕它构建环境来满足您的各种需求。

这种设计理念的一个很好的例子是Atom编辑器。 这是一个具有内置Git集成的跨平台文本编辑器。 如果您不熟悉纯文本格式,也不熟悉Git,那么Atom是最简单的入门方法。

安装Git和Atom

首先,请确保您已在系统上安装Git。 如果运行Linux或BSD,则Git在软件存储库或端口树中可用。 您使用的命令将根据您的发行版而有所不同。 例如在Fedora上:

 $ sudo dnf install git 

您也可以下载并安装Mac和Windows版 Git。

您不需要直接使用Git,因为Atom充当您的Git界面。 下一步是安装Atom。

如果您使用的是Linux,请通过软件安装程序或适当的命令从软件存储库中安装Atom,例如:

 $ sudo dnf install atom 

Atom当前不在BSD上构建。 但是,有非常好的替代方法,例如GNU Emacs 。 对于Mac和Windows用户,您可以在Atom网站上找到安装程序。

安装完成后,启动Atom编辑器。

快速浏览

如果要使用纯文本和Git,则需要使您的编辑器适应。 Atom的用户界面可能比您习惯的更加动态。 实际上,您可以将它想像Firefox或Chrome而不是文字处理器,因为它具有可以根据需要打开和关闭的选项卡和面板,甚至还可以安装和配置附件。 尝试涵盖Atom的所有许多功能是不切实际的,但是您至少可以熟悉可能的功能。

当Atom打开时,它将显示一个欢迎屏幕。 如果没有其他内容,此屏幕很好地介绍了Atom的选项卡式界面。 您可以通过单击Atom窗口顶部选项卡上的“关闭”图标来关闭欢迎屏幕,然后使用File> New File创建一个新文件。

使用纯文本格式与使用文字处理程序有点不同,因此,这里有一些技巧,使人们可以与他人建立联系,Git和计算机可以解析,跟踪和转换内容。

用降价写

如今,当人们谈论纯文本时,大多是指Markdown。 Markdown比样式更具有样式,这意味着它旨在为文本提供可预测的结构,以便计算机可以检测自然模式并智能地转换文本。 Markdown有许多定义,但是最好的技术定义和备忘单在CommonMark的网站上 。

# Chapter 1

This is a paragraph with an *italic* word and a **bold** word in it.
And it can even reference an image.

![An image will render here.](drawing.jpg)


从示例中可以看出,Markdown并非旨在阅读或感觉像代码,但可以将其视为代码。 如果您遵循CommonMark定义的Markdown期望,那么您只需单击一下按钮就可以可靠地将您的写作从Markdown转换为.docx,.epub,.html,MediaWiki,.odt,.pdf,.rtf,以及其他十几种格式, 而不会丢失格式。

您可以认为Markdown有点像文字处理程序的样式。 如果您曾经为发布商撰写过一套样式,这些样式可以控制章节标题和章节标题的外观,那基本上就是一回事,只是要从下拉菜单中选择样式,而不是添加您的文字的小记号。 对于任何习惯“以文字说话”的现代阅读者来说,这些符号都是很自然的,但是在呈现文本时,它们会被精美的文本样式替换掉。 实际上,这是文字处理程序在后台秘密进行的操作。 文字处理器显示粗体文本,但是如果您看到生成的使文本粗体显示的代码,则与Markdown很像(实际上这是复杂得多的XML)。 使用Markdown可以消除这一障碍,一方面看起来更恐怖,但另一方面,您可以在几乎所有生成文本的东西上书写Markdown而不会丢失任何格式信息。

Markdown文件的流行文件扩展名是.md。 如果您使用的平台不知道.md文件是什么,则可以手动将扩展名与Atom关联,或者仅使用通用.txt扩展名。 文件扩展名不会更改文件的性质; 它只会改变您的计算机决定如何处理它的方式。 Atom和某些平台足够聪明,可以知道文件是纯文本格式,无论您给它以什么扩展名。

实时预览

Atom具有Markdown Preview插件,该插件可向您显示您正在编写的普通Markdown及其(通常)呈现方式。

要激活此预览窗格,请选择“ 程序包”>“降价预览”>“切换预览”,或按Ctrl + Shift + M。

此视图为您提供了两全其美的方法。 您无需承担样式样式的负担,就可以写作,但也可以看到一个常见的示例,至少以典型的数字格式显示了文本的外观。 当然,关键是您无法控制文本的最终呈现方式,因此不要试图调整Markdown来强制渲染预览以某种方式显示。

每行一句话

您的高中写作老师不必看您的Markdown。

刚开始时自然不会很自然,但是在数字世界中,每行保持一个句子更有意义。 Markdown忽略单个换行符(当您按下Return或Enter键时),并且仅在单个空行之后创建一个新段落。

每行写一个句子的好处是您的工作更容易跟踪。 也就是说,如果您在段落的开头更改了一个单词,那么如果更改仅限于一行而不是一个单词,那么Atom,Git或任何应用程序很容易以有意义的方式突出显示该更改。长款。 换句话说,对一个句子的更改应仅影响该句子,而不影响整个段落。

您可能会想,“许多文字处理器也可以跟踪更改,并且它们可以突出显示已更改的单个单词。” 但是那些修订跟踪器绑定到该字处理器的界面,这意味着您必须先在该字处理器的前面才能浏览修订。 在纯文本工作流程中,您可以查看纯文本的修订,这意味着无论您手头上有什么内容,只要该设备可以处理纯文本(大多数都可以),就可以进行编辑或批准编辑。

诚然,作家通常不会考虑行号,但是它是计算机的有用工具,并且通常是一个很好的参考点。 默认情况下,Atom为文本文档的行编号。 一旦按下Enter或Return键,一条线就是一条线。

如果一行中有一个点而不是一个数字,则表示它是为您包装的上一行的一部分,因为它无法在屏幕上显示。

主题化

如果您是一个有视觉见识的人,那么您可能会对写作环境的外观非常在意。 即使您使用普通的Markdown进行编写,也并不意味着您必须使用程序员的字体或在使您看起来像编码员的黑暗窗口中进行书写。 修改Atom外观的最简单方法是使用主题包 。 主题设计人员通常将深色主题与浅色主题区分开,因此您可以根据需要使用关键字Dark或Light进行搜索。

要安装主题,请选择“ 编辑”>“首选项” 。 这将在Atom界面中打开一个新选项卡。 是的,选项卡用于您的工作文档以及配置和控制面板。 在设置选项卡中,单击安装类别。

在“ 安装”面板中,搜索要安装的主题的名称。 单击搜索字段右侧的“ 主题”按钮,仅搜索主题。 找到主题后,单击其“ 安装”按钮。

要使用已安装的主题或根据喜好自定义主题,请导航至“ 设置”选项卡中的 主题”类别。 从下拉菜单中选择要使用的主题。 更改会立即进行,因此您可以确切了解主题如何影响您的环境。

您也可以在“设置”选项卡的 编辑器”类别中更改工作字体。 Atom默认为等宽字体,程序员通常首选这种字体。 但是您可以在系统上使用任何字体,无论是衬线字体,无衬线字体,哥特式字体还是草书字体。 无论您想花一天的时间盯着什么,这完全取决于您。

在相关说明中,默认情况下,Atom在其屏幕下方绘制一个垂直标记,以作为编写代码的人员的指南。 程序员通常不想编写冗长的代码行,因此这条垂直线提醒他们简化事情。 不过,竖线对作者而言毫无意义,您可以通过禁用自动换行指南包将其删除。

要禁用自动包装指南 ,请在“ 设置”标签中选择“ 包装”类别,然后搜索自动包装指南 。 找到该程序包后,单击其“ 禁用”按钮。

动态结构

创建长文档时,我发现每个文件写一章比在一个文件中写整本书更有意义。 此外,我不姓我在明显的语法chapter-1.md1.example.md章节,而是由章节标题或关键字,如example.md。 为了将来为自己提供有关如何组装本书的指导,我维护了一个名为toc.md的文件(用于“目录”),其中列出了各章的(当前)顺序。

我这样做是因为,无论我多么相信第6章都不可能在第1章之前发生,很少有时间在我完成第1章或第2章或部分的顺序之前,不要交换一个或两个章或节的顺序。书。 我发现从一开始就保持动态变化可以帮助我避免重命名混乱,也可以帮助我减少对刚性的处理。

Git in Atom

每位作家的共同点是两件事是他们为保持而写作,而他们的写作是一段旅程。 您无需坐下来撰写并完成最终草案; 根据定义,您有一个初稿。 该草稿会经过修订,您会仔细地将每个修订保存为一式三份,以防万一您的文件损坏了。 最终,您得到了所谓的最终草案,但很有可能您有一天会回到最终草案,以使好的零件复活或修复坏的零件。

Atom中最令人兴奋的功能是其强大的Git集成。 无需离开Atom,您就可以与Git的所有主要功能进行交互,跟踪和更新项目,回滚您不喜欢的更改,集成来自协作者的更改等等。 学习它的最好方法是逐步学习它,因此这是从写作项目开始到结束在Atom界面中使用Git的方法。

第一件事:选择“ 视图”>“切换Git选项卡”以显示“ Git”面板。 这将导致在Atom界面的右侧打开一个新选项卡。 没什么可看的,所以暂时保持打开状态。

启动一个Git项目

您可以将Git视为绑定到文件夹。 Git目录之外的任何文件夹都不知道Git,而Git不知道。 除非您授予Git权限来跟踪它们,否则Git目录中的文件夹和文件将被忽略。

您可以通过在Atom中创建新的项目文件夹来创建Git项目。 选择文件>添加项目文件夹,然后在系统上创建一个新文件夹。 您创建的文件夹将出现在Atom窗口的左侧“ 项目面板”中。

git添加

右键单击新项目文件夹,然后选择“ 新建文件”以在项目文件夹中创建一个新文件。 如果您有要导入到新项目中的文件,请右键单击该文件夹,然后选择在文件管理器中显示以在系统的文件查看中打开该文件夹(Linux上为Dolphin或Nautilus,Mac上为Finder,Windows上为Explorer),然后拖放您的文件。

在Atom中打开一个项目文件(您创建的空文件或导入的文件)后,单击Git选项卡中的Create Repository按钮。 在弹出对话框中,单击“ 初始化”以将您的项目目录初始化为本地Git存储库。 Git将.git目录(在系统的文件管理器中不可见,但在Atom中对您可见)添加到项目文件夹中。 不要被这个愚弄了: .git目录是由Git管理的,而不是您自己的,因此您通常会避免使用它。 但是在Atom中看到它可以很好地提醒您,您正在Git积极管理的项目中工作。 换句话说,当您看到.git目录时,修订历史记录可用。

在您的空文件中,写一些东西。 您是作家,所以输入一些单词。 您可以随意输入任何一组单词,但要记住上面的写作技巧。

Ctrl + S保存文件,该文件将出现在Git选项卡的Unstaged Changes部分中。 这意味着该文件存在于您的项目文件夹中,但尚未提交给Git的权限。 通过单击Git选项卡右上角的Stage All按钮,允许Git跟踪文件。 如果您使用了具有修订历史记录的文字处理程序,则可以将此步骤视为允许Git记录更改。

Git提交

您的文件现在已暂存。 这意味着Git知道该文件存在,并且知道自从上次使Git知道该文件以来,该文件已被更改。

Git提交会将您的文件发送到Git的内部和永久存档中。 如果您习惯于文字处理程序,则类似于命名修订版。 要创建提交,请在Git选项卡底部的Commit消息框中输入一些描述性文本。 您可能会含糊不清或厚脸皮,但是如果您为自己的将来输入有用的信息,以便知道为什么进行修订,这会更有用。

第一次提交时,必须创建一个分支。 Git分支有点像替代现实,允许您从一个时间轴切换到另一个时间轴,以进行您可能想要或可能不想永久保留的更改。 如果最终喜欢更改,则可以将一个实验分支合并到另一个实验分支,从而统一项目的不同版本。 这是一个高级过程,不值得先学,但是您仍然需要一个活动分支,因此您必须为首次提交创建一个分支。

单击Git选项卡最底部的“ 分支”图标以创建一个新分支。

习惯上命名您的第一个分支主管 。 您不必; 您可以将其命名为firstdraft或任何您喜欢的名称,但是遵守当地习俗有时可以使谈论Git(并查找问题的答案)变得容易一些,因为您会知道当有人提到master时 ,他们实际上是master而非firstdraft或您所谓的分支机构。

在某些版本的Atom上,UI可能不会更新以反映您已经创建了新分支。 不用担心 提交后,将创建分支(并更新UI)。 按下Commit按钮,无论它显示为Create detached commit还是Commit to master

提交后,文件的状态将永久保留在Git的内存中。

历史和Git差异

一个自然的问题是您应该多久提交一次。 没有一个正确的答案。 使用Ctrl + S保存文件并提交到Git是两个单独的过程,因此您将继续执行这两个过程。 每当您觉得自己做了重要的事情或打算尝试一个疯狂的新想法而又想退出时,您可能会想要提交。

要了解提交对工作流程的影响,请从测试文档中删除一些文本,然后在顶部和底部添加一些文本。 再次提交。 重复几次,直到在Git选项卡的底部有一个小的历史记录,然后单击一次提交以在Atom中查看它。

查看过去的提交时,您会看到三个元素:

  1. 提交时,绿色文本已添加到文档中。
  2. 进行提交时,红色文本已从文档中删除。
  3. 其他所有文字均未更改。

远程备份

使用Git的优点之一是,按照设计,它是分布式的,这意味着您可以将工作提交到本地存储库,并将所做的更改推送到任意数量的服务器上进行备份。 您还可以从这些服务器中提取更改,以便您碰巧正在使用的任何设备始终具有最新更改。

为此,您必须在Git服务器上拥有一个帐户。 有几种免费的托管服务,其中包括GitHub,它是Atom的生产公司,但奇怪的是它不是开源的;而GitLab是开源的。 在私有云中,开源比私有私有,在本示例中,我将使用GitLab。

如果您还没有GitLab帐户,请注册一个帐户并开始一个新项目。 项目名称不必与Atom中的项目文件夹匹配,但如果匹配,则可能有意义。 您可以将项目保留为私有,在这种情况下,只有您和您拥有明确权限的任何人都可以访问它,或者如果希望对偶然发现它的Internet上的任何人都可用,可以将其公开。

不要将自述文件添加到项目中。

创建项目后,它将为您提供有关如何设置存储库的说明。 如果您决定在终端中或通过单独的GUI使用Git,这是非常有用的信息,但是Atom的工作流程则有所不同。

单击GitLab界面右上方的“ 克隆”按钮。 这显示了访问Git存储库必须使用的地址。 复制SSH地址(而不是https地址)。

在Atom中,单击项目的.git目录,然后打开config 。 将这些配置行添加到文件中,调整url值的seth / example.git部分以匹配您的唯一地址。

[remote "origin"]
url = git@gitlab.com:seth/example.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master

Git标签的底部,出现了一个名为Fetch的新按钮。 由于您的服务器是全新服务器,因此没有可供您提取的数据,因此请右键单击该按钮,然后选择“ 推送” 。 这会将您的更改推送到您的Gitlab帐户,现在您的项目已备份到Git服务器上。

您可以在每次提交后将更改推送到服务器。 它提供了立即的异地备份,并且由于数据量通常很少,因此它几乎与本地保存一样快。

写作和Git

Git是一个复杂的系统,不仅对修订跟踪和备份有用。 它支持异步协作并鼓励实验。 本文介绍了基础知识,但还有更多关于Git的文章和整本书,以及如何使用它使您的工作更高效,更具弹性和更具活力。 一切始于使用Git完成小任务。 使用的次数越多,您就会发现自己提出的问题越多,最终您将学到的技巧也越多。

翻译自: https://opensource.com/article/19/4/write-git

作家如何利用Git更好地完成工作相关推荐

  1. 如何在项目中利用 git 提高工作效率

    文/陈灵 华为无线网络产品线五级软件专家,在大型软件架构设计.性能优化方面有丰富的成功经验,多次荣获公司/产品线优秀软件架构实践表彰. 华为的明星博主,原创软件技术博客超过一百篇,愈十万字,促进了软件 ...

  2. add多个文件 git 文件夹_利用 git 提取文件夹下多个特定文件里的内容写到特定文件内...

    有些时候我们需要将一个或多个文件夹内的特定文件里的内容读写到指定的文件内,如果是一个一个文件复制速度太慢,这时我们可以利用git来操作. 首先打开我们需要读取的文件的上级文件夹,在空白处右击选择[Gi ...

  3. SVN为什么比git更好

    首先我表明一个根本的立场,我个人更喜欢用git,但是,这仅仅是一个个人偏好.当我们需要将一种技术方案带给整个团队的时候,并不是由我们的个人偏好作为主要决定因素,而应该充分去权衡利弊,选择对团队,对公司 ...

  4. 第三十八期:用Git帮助写作者更好地完成工作

    如果你是一名写作者,你也能从使用 Git 中受益.在我们的系列文章中了解有关 Git 鲜为人知的用法. 作者:佚名 如果你是一名写作者,你也能从使用 Git 中受益.在我们的系列文章中了解有关 Git ...

  5. 如何将本地文件利用git工具上传到github仓库中(超详细+最新版)

    https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 如何将本地文件利用 ...

  6. 《Puppet实战手册》——1.4 利用Git管理配置清单

    本节书摘来自异步社区<Puppet实战手册>一书中的第1章,第1.4节,作者:[英]John Arundel著,更多章节内容可以访问云栖社区"异步社区"公众号查看 1. ...

  7. 利用git提交网站到码云出现权限问题,弹框要求输入用户名和密码老是出错

    一般情况下利用git提交网站到码云的步骤如下: 1.git config --global user.name "用户名" git config --global user.ema ...

  8. 怎么利用git管理/备份文件

    怎么利用git管理/备份文件 git是个很牛的东西 不过我也是刚学会不久,还有很多东西没用到. 我喜欢用OneNote做笔记,但是无奈OneNote对代码很不友好,也不支持markdown,就很难受了 ...

  9. 利用git从gitblit上拉取项目到本地

    利用git从gitblit上拉取项目到本地 一.准备工作 二.将gitblit上项目拉到本地 一.准备工作 下载安装git,这里不做过多的赘述 可以参考https://blog.csdn.net/ju ...

最新文章

  1. linux进程间通信-XSI IPC
  2. poj3686(最小费用流)
  3. Mysql 源码安装
  4. C语言退出多层嵌套循环技巧
  5. mysql中shift h_MySQL复制技术对比与容器化探究
  6. 神经网络与深度学习——TensorFlow2.0实战(笔记)(三)(python常量、变量和表达式)
  7. python连接mongo_使用简单的Python连接访问MongoDB
  8. Date和Timestamp 的区别
  9. SQL Sever — 建表语句,设置种子数量与增量以及设置主键 代码
  10. leetcode(106)从中序遍历和后序遍历构建二叉树
  11. delphi连接access数据库的步骤(详细教程)
  12. 一次性搞懂 HTTP、HTTPS、SPDY
  13. ubuntu 20 安装手册
  14. 线下活动 | 聚焦分布式高可用的消息队列
  15. 高中以前的手绘作品,素描和水粉
  16. Three导入dae格式模型实例
  17. 转载:老师也吐血的试卷
  18. Java开发Mye_Java使用MyEclipse构建webService简单案例
  19. 产品经理与项目经理-从PMP到NPDP
  20. 计算机故障代码0098,P0098故障码_P0098故障码是什么故障、排除方法、怎么消除_车主指南...

热门文章

  1. Netty是如何实现TCP心跳机制与断线重连的
  2. 《HTML5与CSS3实战指南》——2.3 HTML5常见问题
  3. [Linux 使用(2)] 64位Linux下安装jboss-as-7.1 以及jdk1.7
  4. iOS开发——高级技术通讯录功能的实现
  5. 软件工程随堂小作业—— 寻找“水王”(C++)
  6. 使用scriptreference使你的页面加载更快
  7. SynchronousQueueE简介
  8. ubuntu下唤醒或休眠远程计算机
  9. DEIGRP 的配置
  10. Mybatis-Plus 使用自定义注入器后,查询条件中不再添加逻辑删除字段限定条件