sublime Text3中使用sublimeGit插件

相似参考:https://segmentfault.com/a/1190000007200311

教程

本教程将介绍使用SublimeGit管理项目的通常阶段。我们将通过构建Django教程应用程序,并以git进行管理。我们将轻轻地跳过编码部分,并专注于使用SublimeGit,因此它应该可以用于任何使用git的项目。

建立起来

我们做的第一件事是做一个虚拟环境,设置一个require.txt,安装django并初始化一个django项目。这意味着我们的项目文件夹现在看起来像这样:

sublime Text3中使用sublimeGit插件

初始化存储库

现在,这个项目还没有太多的工作值得保存,但是我们要开始添加一些,所以现在可能是把项目放在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

sublime Text3中使用sublimeGit插件

一旦我们进入gin,Sublime Text应该已经选择了正确的命令。现在按回车键,您将看到选择放置在屏幕底部的存储库:

sublime Text3中使用sublimeGit插件

如果您打开我们的项目作为一个文件夹,那么默认值应该足够了,你可以按回车键选择它。创建git存储库后,SublimeGit将在控制台窗口中显示git命令的输出:

sublime Text3中使用sublimeGit插件

要关闭此控制台窗口,请按escape

注意

初始化存储库的另一种方法是开始使用Git:Status命令。如果您不在存储库中,SublimeGit将要求您初始化一个。

添加内容

所以现在我们有一个空的资料库,我们可以开始添加我们的文件。

警告

使用SublimeGit对一个巨大的项目(1000+个文件)执行初始提交可能不是最好的方式。从git获取未跟踪文件的列表,并且格式化它们可能需要一些时间。

如果您正在处理一个巨大的项目,您可能希望使用命令行进行初始提交。

状态视图

大多数的添加/分段/分段等等都是从:ref:`Git:Status <cmd-git-status>`命令发生的,所以让我们来运行它。gs在命令调色板中键入应该足以使其起作用:

sublime Text3中使用sublimeGit插件

执行该命令后,我们将看到一个状态视图,如下所示:

sublime Text3中使用sublimeGit插件

此视图包含我们的新项目的以下信息:

本地
关于我们当前分支(主)的信息以及我们存储库的位置(〜/ Desktop / djangotut)
有关当前HEAD提交的信息。由于我们还没有做任何事情,没有什么可以展现的。在我们第一次提交之后,我们将可以看到缩写的SHA1和提交消息的第一行。
未加密的文件
本节显示了我们项目中尚未添加到git中的文件。当我们进一步了解时,会显示更多的部分,例如未更改的更改,分段更改和隐藏。
帮帮我
视图底部显示可用的键盘快捷键。

忽略文件

现在看看我们的状态视图,我们注意到我们已经有了这些麻烦的.pyc文件。我们绝对不想把它们添加到git中,所以让我们忽略它们。

i文件将该文件添加到.gitignore存储库。但是我们不想只添加一个.pyc文件,我们要添加模式* .pyc,所以我们不必再处理它们了。I(资本我)会给你选择添加到gitignore的模式:

sublime Text3中使用sublimeGit插件

现在,我们将模式更改为* .pyc:

sublime Text3中使用sublimeGit插件

按下enter将要求您确认您的选择,然后执行此操作后,我们可以看到.pyc文件已从状态视图中删除,并添加了gitignore文件:

sublime Text3中使用sublimeGit插件

添加文件

现在,要添加文件,有几种不同的方法可以去。

我们可以s单独按下每个文件,并允许在每次按下之间更新状态窗口。如果我们不想等待状态窗口更新,我们也可以选择我们要添加的所有文件,然后按s或者我们可以使用Sublime Text的真棒多重插入符号功能,并在按下之前在每行上插入符号s这将添加所有文件,因为SublimeGit支持多选。

另一种方法是将插入符号放在节标题和按下s

最后,我们可以按ctrl+shift+s这个将添加一切。这个命令可能会导致很多变化,这就是为什么它有目的地被做了一些困难的键入。

让我们把光标放在部分上,然后按s

sublime Text3中使用sublimeGit插件

s文件将文件移动到分段更改部分:

sublime Text3中使用sublimeGit插件

现在我们准备对我们的项目做出最初的承诺。

添加文件的其他方法

使用状态视图不是在SublimeGit中添加文件的唯一方法。请参阅:ref:`cmd-added-files`:doc:`commands`中替代。

提交

要进入提交视图,请c在状态视图中这将为您输入提交信息,并放置插入符,以便您可以立即开始输入:

sublime Text3中使用sublimeGit插件

注意

此视图包含一个72个字符的垂直标尺。这是为了鼓励良好的信函风格,如Tim PopeLinus Thorvalds所详述的

如果你写下这样的提交信息,其他开发商就会安静地点头,一千只可爱的小猫将被拯救,财富将从天空下降。另外,你会得到一个很好的git日志,并且在github上提供很好的消息。

所以我们输入我们的提交信息:

sublime Text3中使用sublimeGit插件

完成打字后,关闭视图将执行提交,并在控制面板中通知我们:

sublime Text3中使用sublimeGit插件

我们现在可以看到我们的信息已经更新,工作目录很干净。

中止承诺

如果我们通过写入提交信息改变主意,该怎么办?在这一点上,关闭文件将提交半完成的提交。解决方案很简单。只需删除提交消息。这可以通过选择所有内容(cmd+a在OS X上,ctrl+a在Linux / Windows上),后跟delete

关闭空提交视图将中止提交,并通知您:

sublime Text3中使用sublimeGit插件

分期变化

所以现在我们已经做了我们的初始提交,让我们对项目进行一些更改。

更改设置并添加轮询应用程序后,状态视图现在如下所示:

sublime Text3中使用sublimeGit插件

因为我们实际上在这里做两个单独的事情,我们可能希望把它分成两个提交,一个包含对settings.py的更改,另一个包含我们的初始投票应用程序。

但首先,我们来看看我们实际上改变了什么。

查看差异

导航到更改部分。一个快速的方法是按下2跳转到第二部分,接着是n下一个项目。另一种方法是按下Nn一个部分,然后按下一个文件。

sublime Text3中使用sublimeGit插件

一旦插入符号超过文件,按d打开diff视图:

sublime Text3中使用sublimeGit插件

我们可以在这里看到,我们已经更改了数据库设置,时区,并启用了管理应用程序。

在查看此差异时,我们意识到我们可能还需要添加一个模板目录。所以我们来关闭diff视图,打开文件来添加模板目录。

打开文件

回到状态视图中,插入符号应该仍然在设置文件中。按下enter将打开文件进行编辑:

sublime Text3中使用sublimeGit插件

添加缺少的设置后,我们可以再次查看diff,看看更改已被选中:

sublime Text3中使用sublimeGit插件

现在我们准备好提交。要这样做,请按s文件,然后c打开提交视图。

取消档案

对于第二个提交,我们先从以下几个方面添加polls应用程序:

sublime Text3中使用sublimeGit插件

但是,如果我们想在第一次添加它之前做一点点的工作呢?现在我们已经上演过了,所以我们需要一种方法去撤销它。

为了这个目的,我们可以u用来分割单个文件或整个部分,或者U将所有内容分解。这工作完全一样sS前面描述的命令。

我们来使用这个U命令,因为这样就可以一次性地分解所有的东西 U状态视图中的任意位置。然后,这些文件将会跳回到“ Untracked Files”部分:

sublime Text3中使用sublimeGit插件

与世界分享我们的项目

既然我们在项目上有所吸引,我们可能想要开始与世界分享。为了做到这一点,我们为它创建了一个github(或bitbucket,或者google代码或者breanstalk等)存储库。在我们的例子中,它有url [email protected]:SublimeGit / djangotut.git

添加远程

要添加此远程,请执行以下命令:ref:`Git:添加远程<cmd-add-remote>`,再次使用Sublime Text的模糊匹配,以避免键入所有这些:

sublime Text3中使用sublimeGit插件

选择命令后,我们将被要求为远程设备提供一个名称。如果这是我们添加的第一个远程,SublimeGit将假定我们要将其命名为origin,因为这是惯例:

sublime Text3中使用sublimeGit插件

enter确认名称后,我们将被要求添加远程的URL:

sublime Text3中使用sublimeGit插件

当url被确认后,SublimeGit将打开远程管理界面。如果您执行:ref:`Git:Remote <cmd-remote>`命令,您将获得相同的选项

推动

注意

如果您添加了一个不为空的远程(例如通过github从README启动时),则可能需要在推送之前执行:ref:`Git:Pull <cmd-pull>`命令。

现在,如果我们尝试执行:ref:`Git:Push <cmd-push>`我们可能会感到惊讶:

sublime Text3中使用sublimeGit插件

是什么赋予了?那么,因为我们只是添加了远程,没有指定它作为任何分支的默认远程,我们需要推动一点点不同的第一次。

为此,执行命令:ref:`Git:Push Current Branch <cmd-push-current-branch>`

sublime Text3中使用sublimeGit插件

然后我们必须在遥控器上输入分支的名称。默认情况下,选择当前分支名称:

sublime Text3中使用sublimeGit插件

按下后enter,SublimeGit将把分支推送到远程,并设置必要的配置,允许使用:ref:`Git:Push <cmd-push>`:ref:`Git:Pull <cmd-pull>未来的命令:

sublime Text3中使用sublimeGit插件

还要注意在状态视图中如何显示远程部分。这显示了远程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