相似参考:https://segmentfault.com/a/1190000007200311
教程
本教程将介绍使用SublimeGit管理项目的通常阶段。我们将通过构建Django教程应用程序,并以git进行管理。我们将轻轻地跳过编码部分,并专注于使用SublimeGit,因此它应该可以用于任何使用git的项目。
建立起来
我们做的第一件事是做一个虚拟环境,设置一个require.txt,安装django并初始化一个django项目。这意味着我们的项目文件夹现在看起来像这样:
初始化存储库
现在,这个项目还没有太多的工作值得保存,但是我们要开始添加一些,所以现在可能是把项目放在git中的好时机。
要做到这一点,首先要确保在Sublime Text中打开项目。它不需要作为Sublime Text项目打开,我个人更喜欢直接从命令行打开文件夹,或者通过File> Open ...菜单。
注意
注意我们如何在Sublime Text中打开整个文件夹。这不是必需的,但它会使git仓库初始化更加顺畅,因为SublimeGit将有一个更容易的时间找出哪里放置它。
有关SublimeGit如何选择回购路径的更多信息,请参阅:ref:`Git:Init <cmd-git-init>`命令。
要初始化git存储库,请打开命令调色板,并找到Git:Init命令。但等一下 您不想为所有内容输入完整的命令名称。幸运的是,Sublime Text对于匹配命令非常聪明,所以要找到Git:Init命令,我们应该能够开始打字。通常,SublimeGit中的所有命令都以Git:前缀开头,所以我们来试试打字ginit
。
一旦我们进入gin
,Sublime Text应该已经选择了正确的命令。现在按回车键,您将看到选择放置在屏幕底部的存储库:
如果您打开我们的项目作为一个文件夹,那么默认值应该足够了,你可以按回车键选择它。创建git存储库后,SublimeGit将在控制台窗口中显示git命令的输出:
要关闭此控制台窗口,请按escape
。
注意
初始化存储库的另一种方法是开始使用Git:Status命令。如果您不在存储库中,SublimeGit将要求您初始化一个。
添加内容
所以现在我们有一个空的资料库,我们可以开始添加我们的文件。
警告
使用SublimeGit对一个巨大的项目(1000+个文件)执行初始提交可能不是最好的方式。从git获取未跟踪文件的列表,并且格式化它们可能需要一些时间。
如果您正在处理一个巨大的项目,您可能希望使用命令行进行初始提交。
状态视图
大多数的添加/分段/分段等等都是从:ref:`Git:Status <cmd-git-status>`命令发生的,所以让我们来运行它。gs
在命令调色板中键入应该足以使其起作用:
执行该命令后,我们将看到一个状态视图,如下所示:
此视图包含我们的新项目的以下信息:
-
本地
- 关于我们当前分支(主)的信息以及我们存储库的位置(〜/ Desktop / djangotut) 头
- 有关当前HEAD提交的信息。由于我们还没有做任何事情,没有什么可以展现的。在我们第一次提交之后,我们将可以看到缩写的SHA1和提交消息的第一行。 未加密的文件
- 本节显示了我们项目中尚未添加到git中的文件。当我们进一步了解时,会显示更多的部分,例如未更改的更改,分段更改和隐藏。 帮帮我
- 视图底部显示可用的键盘快捷键。
忽略文件
现在看看我们的状态视图,我们注意到我们已经有了这些麻烦的.pyc文件。我们绝对不想把它们添加到git中,所以让我们忽略它们。
按i
文件将该文件添加到.gitignore
存储库。但是我们不想只添加一个.pyc文件,我们要添加模式* .pyc,所以我们不必再处理它们了。按I
(资本我)会给你选择添加到gitignore的模式:
现在,我们将模式更改为* .pyc:
按下enter
将要求您确认您的选择,然后执行此操作后,我们可以看到.pyc文件已从状态视图中删除,并添加了gitignore文件:
添加文件
现在,要添加文件,有几种不同的方法可以去。
我们可以s
单独按下每个文件,并允许在每次按下之间更新状态窗口。如果我们不想等待状态窗口更新,我们也可以选择我们要添加的所有文件,然后按s
。或者我们可以使用Sublime Text的真棒多重插入符号功能,并在按下之前在每行上插入符号s
。这将添加所有文件,因为SublimeGit支持多选。
另一种方法是将插入符号放在节标题和按下s
。
最后,我们可以按ctrl+shift+s
这个将添加一切。这个命令可能会导致很多变化,这就是为什么它有目的地被做了一些困难的键入。
让我们把光标放在部分上,然后按s
:
按s
文件将文件移动到分段更改部分:
现在我们准备对我们的项目做出最初的承诺。
添加文件的其他方法
使用状态视图不是在SublimeGit中添加文件的唯一方法。请参阅:ref:`cmd-added-files`在:doc:`commands`中替代。
提交
要进入提交视图,请c
在状态视图中按。这将为您输入提交信息,并放置插入符,以便您可以立即开始输入:
注意
此视图包含一个72个字符的垂直标尺。这是为了鼓励良好的信函风格,如Tim Pope和Linus Thorvalds等所详述的。
如果你写下这样的提交信息,其他开发商就会安静地点头,一千只可爱的小猫将被拯救,财富将从天空下降。另外,你会得到一个很好的git日志,并且在github上提供很好的消息。
所以我们输入我们的提交信息:
完成打字后,关闭视图将执行提交,并在控制面板中通知我们:
我们现在可以看到我们的头信息已经更新,工作目录很干净。
中止承诺
如果我们通过写入提交信息改变主意,该怎么办?在这一点上,关闭文件将提交半完成的提交。解决方案很简单。只需删除提交消息。这可以通过选择所有内容(cmd+a
在OS X上,ctrl+a
在Linux / Windows上),后跟delete
。
关闭空提交视图将中止提交,并通知您:
分期变化
所以现在我们已经做了我们的初始提交,让我们对项目进行一些更改。
更改设置并添加轮询应用程序后,状态视图现在如下所示:
因为我们实际上在这里做两个单独的事情,我们可能希望把它分成两个提交,一个包含对settings.py的更改,另一个包含我们的初始投票应用程序。
但首先,我们来看看我们实际上改变了什么。
查看差异
导航到更改部分。一个快速的方法是按下2
跳转到第二部分,接着是n
下一个项目。另一种方法是按下Nn
一个部分,然后按下一个文件。
一旦插入符号超过文件,按d
打开diff视图:
我们可以在这里看到,我们已经更改了数据库设置,时区,并启用了管理应用程序。
在查看此差异时,我们意识到我们可能还需要添加一个模板目录。所以我们来关闭diff视图,打开文件来添加模板目录。
打开文件
回到状态视图中,插入符号应该仍然在设置文件中。按下enter
将打开文件进行编辑:
添加缺少的设置后,我们可以再次查看diff,看看更改已被选中:
现在我们准备好提交。要这样做,请按s
文件,然后c
打开提交视图。
取消档案
对于第二个提交,我们先从以下几个方面添加polls应用程序:
但是,如果我们想在第一次添加它之前做一点点的工作呢?现在我们已经上演过了,所以我们需要一种方法去撤销它。
为了这个目的,我们可以u
用来分割单个文件或整个部分,或者U
将所有内容分解。这工作完全一样s
/ S
前面描述的命令。
我们来使用这个U
命令,因为这样就可以一次性地分解所有的东西 按U
状态视图中的任意位置。然后,这些文件将会跳回到“ Untracked Files”部分:
与世界分享我们的项目
既然我们在项目上有所吸引,我们可能想要开始与世界分享。为了做到这一点,我们为它创建了一个github(或bitbucket,或者google代码或者breanstalk等)存储库。在我们的例子中,它有url git@github.com:SublimeGit / djangotut.git。
添加远程
要添加此远程,请执行以下命令:ref:`Git:添加远程<cmd-add-remote>`,再次使用Sublime Text的模糊匹配,以避免键入所有这些:
选择命令后,我们将被要求为远程设备提供一个名称。如果这是我们添加的第一个远程,SublimeGit将假定我们要将其命名为origin,因为这是惯例:
按enter
确认名称后,我们将被要求添加远程的URL:
当url被确认后,SublimeGit将打开远程管理界面。如果您执行:ref:`Git:Remote <cmd-remote>`命令,您将获得相同的选项。
推动
注意
如果您添加了一个不为空的远程(例如通过github从README启动时),则可能需要在推送之前执行:ref:`Git:Pull <cmd-pull>`命令。
现在,如果我们尝试执行:ref:`Git:Push <cmd-push>`我们可能会感到惊讶:
是什么赋予了?那么,因为我们只是添加了远程,没有指定它作为任何分支的默认远程,我们需要推动一点点不同的第一次。
为此,执行命令:ref:`Git:Push Current Branch <cmd-push-current-branch>`:
然后我们必须在遥控器上输入分支的名称。默认情况下,选择当前分支名称:
按下后enter
,SublimeGit将把分支推送到远程,并设置必要的配置,允许使用:ref:`Git:Push <cmd-push>`和:ref:`Git:Pull <cmd-pull>未来的命令:
还要注意在状态视图中如何显示远程部分。这显示了远程URL和远程的名称。
分枝
请参见:REF:`分支- merging`在:DOC:`commands`。
积攒
请参见:REF:`stashing`在:DOC:`commands`。
寻找帮助
要查找特定git命令的帮助,可以使用:ref:`Git:Help <cmd-help>`命令,它使用内置的git html文档。
进一步阅读
虽然本教程涵盖了SublimeGit最重要的部分,但还有更多的探索。有关所有可用命令的列表,请查看:doc:`commands`,或者查看:doc:`plugins`部分,了解有关如何使用SublimeGit插件的信息。
GitHub 地址:https://github.com/SublimeGit/SublimeGit/blob/master/docs/tutorial.rst