作家如何使用GitHub来存储他们的作品

GitHub标志。

您可以通过多种方式管理和存储您的写作项目。 有些人更喜欢云存储服务(如Dropbox)或在线编辑器(如Google Docs),而其他人则使用桌面应用程序(如Microsoft Word)。 我使用了一个名为GitHub的东西。

GitHub:这不仅仅是代码

我使用Git和GitHub来存储和访问我的所有写作。 Git是一个有效的工具,可用于跟踪文档更改,还可以超级快速上传到GitHub。 将您的工作下载到第二台或第三台设备也很快捷。

如果您从未听说过GitHub,它是世界上最受欢迎的存储和维护开源代码的目的地。 这可能听起来像是一个疯狂的地方来主持你的写作,但事实并非如此! 毕竟,代码只是文本的行和行,如文章,故事或论文。

大约在2013年, GitHub开始鼓励人们为各种信息而不仅仅是代码创建存储库 GitHub从未真正离开过它的编码根源,但有些人仍然用它来存储写作和其他非编码项目。 例如,一个人用Git和GitHub写了一本教学书 ,而另一个人写了一本小说 在Google上逛逛,你会发现GitHub的各种疯狂用途。

什么是Git和GitHub?

GitHub存储库的选项卡式界面。
GitHub存储库的信息部分。

Git是一个由Linus Torvalds创建的Linux开源程序。 Git跟踪文档的更改,使多个人可以更轻松地远程处理同一文档。 在技​​术方面,它被称为分布式版本控制系统(或分布式VCS)。 Git不会按设定的时间间隔任意保存文档版本。 相反,它只会在您告知文档时存储对文档的更改。

您的文档形成一个存储库(或repo),这只是项目文件夹的一个奇特术语。 例如,如果您使用Git来管理它,那么Windows中的Documents文件夹将是一个存储库(但不要这样做)。

当您在Git中存储对文档的更改时,它被称为“提交”。提交只是您对文档所做的最新更改的记录。 每次提交都会分配一长串数字和字母作为其ID。

如果您通过其ID调用过去的提交,则不会像在Word的文档历史记录中那样看到整个项目。 您只能在进行提交时看到最新的更改。 但是,这并不意味着整个项目都没有被记录下来。 您可以从项目文件夹中删除所有写入,并使用一些git命令仍然可以获得最新版本。 你甚至可以回去查看一周前或六个月前的项目情况。

您还可以在每个提交中包含消息,这非常有用。 例如,如果你写了一些东西,但不确定你想保留它,那就做一个提交。 然后,即使您稍后从项目中删除该部分,该部分也会在您的提交历史记录中存活。

Git在命令行上运行得最好,这是一个很大的优势,但也有其缺点。 命令行可以创建提交和上传更改。 但是,如果要查看提交历史记录,则不太理想。

这就是为什么许多人喜欢GitHub--一种流行的在线服务,为您的Git存储库提供Web界面。 在GitHub上,您可以轻松查看过去的提交,以及将您的写作下载到多台PC。

Git和GitHub一起让我在粒度级别上控制我的版本历史。 并且很容易在任何可以运行Bash命令行的PC上进行写作,目前这些命令行包括Windows,Mac,Linux和Chrome OS机器。

纯文本文件使事情变得简单

崇高的文本编辑器。
Git可以帮助保存你的写作,但它不能让你成为一个更好的作家。

Git和GitHub几乎可以在任何文件类型上进行写入,尽管它最适用于纯文本。 如果您使用Microsoft Word编写它,它将工作,但您将无法在命令行或GitHub中看到您的过去提交。 相反,您必须在命令行上调用过去的提交(称为“结帐”),然后打开您的Word文件。 然后,Word文件看起来就像您进行原始提交时一样,您可以使用另一个快速命令返回当前版本。

如果您使用Scrivener ,那也是有效的。 Scrivener将文件保存为文本,因此它还会在GitHub和命令行上显示过去的提交。 但是,Scrivener还会保存对程序很重要的数据,但不会保存给您。 在每次提交中,你最终都会遇到很多难以阅读的垃圾。

我使用纯文本文件,因为这就是将单词串在一起所需的全部内容,尤其是在您的前几个草稿中。

Git入门

让我们深入了解这一切是如何运作的技术细节。 我们将从PC开始,然后使用GitHub升级到云端。

首先,您需要在macOS或Linux上使用终端程序。 如果您的计算机运行Windows 10,则必须通过Windows子系统Linux(WSL)安装Ubuntu或其他Linux发行版,这非常简单。 您可以查看我们的教程, 了解如何在Windows 10上安装Linux Bash shell 或者,如果您使用旧版本的Windows,则可以使用Cygwin获取Bash shell

打开终端并导航到要用作Git存储库的文件夹。 为了我们的目的,假设我们在Documents文件夹中有一个名为“MyNovel”的文件夹。 请注意,我们的Git仓库之间没有空格。 如果你这样做,你会让你的生活更轻松,因为Bash不喜欢空格,处理它们会让人感到困惑。

接下来,导航到终端中的MyNovel文件夹。 要在Windows 10中执行此操作,命令为:

  cd / mnt / c / Users / [YourUserName] / Documents / MyNovel 

与Windows中保存的文件交互的任何WSL命令都必须使用/mnt/ 另请注意,小写“c”表示您所在的驱动器。 如果您的文件位于“D:/”驱动器上,则使用/d/

对于macOS和Linux,命令更简单:

  cd~ / Documents / MyNovel 

从这里开始,命令是相同的。

现在,我们必须将MyNovel文件夹初始化为Git存储库。 无论您是刚刚开始制作新作还是已经有一些已保存的文件,此命令都有效。

  git init 

您的文件夹现在是Git存储库。 不相信我? 输入以下内容:

  ls -a 

该命令要求计算机列出当前文件夹中的所有内容,包括隐藏的项目。 您应该看到顶部列出的名为“.git”的内容(请注意句点)。 隐藏的“.git”文件夹是保存文档版本历史记录的位置。 你永远不需要打开它,但必须在那里。

第一次提交

在我们第一次提交之前,Git想要知道您的姓名和电子邮件地址。 Git使用此信息来识别提交者,并且该信息包含在提交日志中。 出于实际目的,这并不重要,因为作家通常独自飞行,但Git仍然需要它。

要设置电子邮件和地址,请执行以下操作:

  git config --global user.email“[您的电子邮件]”

 git config --global user.name“[你的名字]” 

而已。 现在进行第一次提交。

假设“MyNovel”文件夹中有三个文件叫做:“Chapter1”,“Chapter2”和“Chapter3”。为了保存更改,我们必须告诉Git跟踪这些文件。 为此,请键入:

  git add。 

句点告诉Git监视文件夹中所有未跟踪的文件(即您要为其创建历史记录的文件)。 此命令还告诉Git准备任何已更改的当前跟踪文件。 此过程称为提交的暂存文件。

就我们的目的而言,分期并不是那么重要,但它可能很有用。 如果您对第2章和第3章进行了更改,但只想提交第2章中的更改,那么您将按照以下方式进行第2章的修改:

  git添加Chapter2.doc 

这告诉Git你想让第2章中的更改准备好提交,而不是第3章。

现在,是第一次提交的时候了:

  Git commit -m“这是我第一次提交。” 

“-m”被称为一个标志,它告诉Git你要对一条消息进行提交和修改,你可以在引号之间看到它。 我喜欢用我的提交消息来标记字数。 我还使用它们来记录特殊信息,例如:“此提交包括对Acme Widgets首席执行官的采访。”

如果我正在写一个故事,我可能会包含一条消息:“这个提交有一个狗跑掉的新场景。”有用的消息使得以后更容易找到你的提交。

现在我们已经开始跟踪我们的文档,现在是时候用GitHub将我们的文章写入云端了。 我使用GitHub作为额外的备份,一个可靠的地方来查看我的文档更改,以及一种在多台PC上访问我的东西的方法。

GitHub入门

用于创建新GitHub存储库的文本表单。
您填写表单以创建新的GitHub存储库。

首先,您需要在GitHub上注册一个免费帐户(您不需要付费帐户来创建私有存储库)。 但是,您只能在私人仓库中与最多三人合作。 如果您有一个五人或五人以上的团队,您需要注册一个专业帐户(在撰写本文时每月7美元)。

创建帐户后,让我们创建一个新的回购。 登录您的帐户,然后转到https://github.com/new

我们需要做的第一件事是命名存储库。 您可以使用与PC上的文件夹相同的名称。 在“存储库名称”下,键入“MyNovel”。

“描述”是可选的,但我喜欢使用它。 你可以输入类似“我关于一个男孩,一个女孩和他们的狗的神话般的新小说”等内容。

接下来,选择“Private”单选按钮,但不要选中“使用README初始化此存储库”框。我们不想这样做,因为我们的PC上已经有了一个存储库。 如果我们现在创建一个README文件,会让事情变得更难。

接下来,单击“创建存储库”。在“快速设置 - 如果您之前已完成此类操作”下,复制URL。 它应该看起来像这样:

  https://github.com/ [您的GitHub用户名] /MyNovel.git 

现在,它又回到了桌面和我们心爱的命令行。

将您的桌面存储库推送到云端

PC命令行。
在命令行上使用Git。

第一次将repo连接到GitHub时,必须使用一些专用命令。 第一个是:

  git remote add origin https://github.com/ [你的GitHub用户名] /MyNovel.git 

这告诉Git远程存储库是“MyNovel”的来源。然后,URL将Git指向该远程源。 不要过于依赖术语“起源”,这只是一个惯例。 你可以把它称为“蓬松”,如果你想原型更容易,因为它是最常用的使用Git的方法。

当您使用Git上传新的更改时,它被称为“推送”。当您下载更改时,它被称为“拉”或“提取”。现在,是时候将您的第一次提交推送到GitHub了。 这是你做的:

  git push -u origin master 

系统将提示您输入GitHub用户名和密码。 如果您正确输入凭据,所有内容都会上传,您就可以开始使用了。

如果您希望GitHub上传的安全性更高,则可以使用SSH密钥。 这允许您使用单个密码来上载SSH密钥,因此您不必每次都输入完整的GitHub凭据。 此外,只有拥有SSH密钥的人才能上传文件更改。

如果您想了解有关SSH密钥的更多信息, GitHub会提供有关如何使用它们的完整说明 您还可以在PC上保存Git凭据

而已! 现在,当您想要对文件进行更改时,可以使用这三个简短命令(导航到“MyNovel”文件夹后)执行此操作:

  git add。 

翻译:“嘿,Git阶段提交所有未跟踪的文件,以及您已经跟踪的文件的新更改。”

  git commit -m“关于新iPhone评论的1000字。” 

翻译:“嘿Git,将这些变化与此消息一起保存。”

  git push origin master 

翻译:“嘿Git,从我在这台PC上的主副本上将更改上传到GitHub上的这个项目的原始版本。”

Git和GitHub奖金提示

这就是它,但这里有一些额外的技巧可以让你的Git和GitHub体验更好:

查看过去的提交

提交历史GitHub的存储库接口。
您可以使用GitHub查看过去的提交。

要查看过去的提交,请转到GitHub上的MyNovel存储库。 在主页面的顶部,在“代码<>”选项卡下,您会看到一个“[X]提交”部分。

单击它,您会看到所有提交的列表。 单击您想要的提交,您会看到您的文本(如果您以纯文本而不是Word键入它)。 以绿色突出显示的所有内容都是创建提交时的新文本; 红色的一切都被删除了。

使用Pull命令

在另一台机器上获取新的存储库很容易。 只需导航到要在新机器上保存repo的位置,例如cd ~/Documents 然后,键入:

  git pull https://github.com/ [您的GitHub用户名] /MyNovel.git 

如果出现提示,请键入您的凭据,几秒钟后,您就可以开始使用了。 现在,提交新的更改,然后通过git push origin master将它们发送回GitHub。 当您返回到通常工作的PC时,只需打开命令行,导航到项目文件夹,然后输入git pull. 新的更改将下载,就像您的编写项目在您的设备上是最新的一样。

不要交叉流

大部分时间写作不是团队努力,只涉及一个人。 因此,本文以一种不适用于多人项目的方式使用Git。 具体来说,我们直接编辑了小说的主版本,而不是创建所谓的“分支”。分支是小说的练习版本,您可以在不影响原始大师的情况下进行更改。 这就像你的小说的两个不同的副本同时存在而不影响另一个。 如果您喜欢练习分支中的更改,可以将它们合并到主版本(或主分支)中。 如果你不想这样做,那也没关系。 扔掉练习分支。

分支非常强大,使用它们将是单个项目中具有多个编写器的主要工作流程。 在我看来,Solo编写者并不需要使用分支 - 只要您不在多台PC上同时对主分支进行不同的更改。

例如,您应该在桌面上完成工作,执行提交,然后将更改推送到GitHub。 然后转到您的笔记本电脑并在进行任何进一步编辑之前将所有新更改下拉。 如果你不这样做,你可能最终得到Git所说的“冲突”。当Git说,“嘿,GitHub和这台PC上的变化不匹配。 帮我解决这个问题。“

从冲突中排序可能是一种痛苦,因此最好尽可能避免它。

一旦你开始使用Git,你可以学到很多东西,比如分支,fetch和pull之间的区别,GitHub的pull请求是什么,以及如何处理可怕的冲突。

对于新手而言,Git看起来很复杂,但是一旦掌握了它,它就是一个强大的工具,可以用来管理和存储你的写作。

赞 (0)
分享到:更多 ()