translate done: 20190103 How to use Magit to manage Git projects.md

This commit is contained in:
darksun 2019-02-19 16:48:59 +08:00
commit f4577d868c
7 changed files with 228 additions and 237 deletions

View File

@ -1,8 +1,8 @@
[#]: collector: (lujun9972)
[#]: translator: (wxy)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-10550-1.html)
[#]: subject: (Installing Kali Linux on VirtualBox: Quickest & Safest Way)
[#]: via: (https://itsfoss.com/install-kali-linux-virtualbox)
[#]: author: (Ankush Das https://itsfoss.com/author/ankush/)
@ -10,11 +10,11 @@
在 VirtualBox 上安装 Kali Linux 的最安全快捷的方式
======
> 本教程将向你展示如何以最快的方式在 Windows 和 Linux 上的 VirtualBox 上安装 Kali Linux。
> 本教程将向你展示如何以最快的方式在运行于 Windows 和 Linux 上的 VirtualBox 上安装 Kali Linux。
[Kali Linux][1] 是最好的[黑客][2] 和安全爱好者的 Linux 发行版之一。
由于它涉及像黑客这样的敏感话题,它就像一把双刃剑。我们过去在一篇详细的 Kali Linux 点评中对此进行了讨论,所以我不会再次赘述。
由于它涉及像黑客这样的敏感话题,它就像一把双刃剑。我们过去在一篇详细的 [Kali Linux 点评](https://linux.cn/article-10198-1.html)中对此进行了讨论,所以我不会再次赘述。
虽然你可以通过替换现有的操作系统来安装 Kali Linux但通过虚拟机使用它将是一个更好、更安全的选择。
@ -36,11 +36,11 @@
而且,最好的是,即使你碰巧使用 Linux 发行版作为主要操作系统,相同的步骤也完全适用!
想知道怎么样做吗? 让我们来看看…
想知道怎么样做吗?让我们来看看…
### 在 VirtualBox 上安装 Kali Linux 的逐步指导
我们将使用专为 VirtualBox 制作的定制 Kali Linux 镜像。当然,你还可以下载 Kali Linux 的 ISO 文件并创建一个新的虚拟机,但是为什么在你有一个简单的替代方案时这样做呢?
我们将使用专为 VirtualBox 制作的定制 Kali Linux 镜像。当然,你还可以下载 Kali Linux 的 ISO 文件并创建一个新的虚拟机,但是为什么在你有一个简单的替代方案时还要这样做呢?
#### 1、下载并安装 VirtualBox
@ -48,7 +48,7 @@
- [下载 VirtualBox](https://www.virtualbox.org/wiki/Downloads)
下载了安装程序后,只需双击它即可安装 VirtualBox。 在 Ubuntu / Fedora Linux 上安装 VirtualBox 也是一样的。
下载了安装程序后,只需双击它即可安装 VirtualBox。在 Ubuntu / Fedora Linux 上安装 VirtualBox 也是一样的。
#### 2、下载就绪的 Kali Linux 虚拟镜像
@ -64,7 +64,7 @@ VirtualBox 成功安装后,前往 [Offensive Security 的下载页面][5] 下
以下是如何导入 Kali Linux 的 VirtualBox 镜像:
**步骤 1**:启动 VirtualBox。你会注意到有一个 “Import”点击它。
**步骤 1**:启动 VirtualBox。你会注意到有一个 “Import” 按钮,点击它。
![virtualbox import][9]
@ -78,7 +78,7 @@ VirtualBox 成功安装后,前往 [Offensive Security 的下载页面][5] 下
选择好之后,点击 “Next” 进行处理。
**步骤 3**:现在,你将看到要导入的这个虚拟机的设置。你可以自定义它们,这是你的自由。如果你使用默认设置,也没关系。
**步骤 3**:现在,你将看到要导入的这个虚拟机的设置。你可以自定义它们,这是你的自由。如果你使用默认设置,也没关系。
你需要选择具有足够存储空间的路径。我永远不会在 Windows 上推荐使用 C驱动器。
@ -86,11 +86,11 @@ VirtualBox 成功安装后,前往 [Offensive Security 的下载页面][5] 下
*以 VDI 方式导入硬盘驱动器*
这里, VDI 方式的硬盘驱动器是指通过分配存储空间集来虚拟安装硬盘驱动器。
这里,VDI 方式的硬盘驱动器是指通过分配其存储空间设置来实际挂载该硬盘驱动器。
完成设置后,点击 “Import” 并等待一段时间。
**步骤 4**:你现在将看到这个虚拟机已经列出了。 所以只需点击“Start”即可启动它。
**步骤 4**:你现在将看到这个虚拟机已经列出了。所以,只需点击 “Start” 即可启动它。
你最初可能会因 USB 端口 2.0 控制器支持而出现错误,你可以将其禁用以解决此问题,或者只需按照屏幕上的说明安装其他软件包进行修复即可。现在就完成了!
@ -98,21 +98,21 @@ VirtualBox 成功安装后,前往 [Offensive Security 的下载页面][5] 下
*运行于 VirtualBox 中的 Kali Linux*
我希望本指南可以帮助你在 VirtualBox 上轻松安装 Kali Linux。当然Kali Linux 有很多有用的工具可用于渗透测试 - 祝你好运!
我希望本指南可以帮助你在 VirtualBox 上轻松安装 Kali Linux。当然Kali Linux 有很多有用的工具可用于渗透测试 —— 祝你好运!
**提示**Kali Linux 和 Ubuntu 都是基于 Debian 的。如果你在使用 Kali Linux 时遇到任何问题或错误,可以按照互联网上针对 Ubuntu 或 Debian 的教程进行操作。
### 赠品:免费的 Kali Linux 指南手册
如果你刚刚开始使用 Kali Linux那么了解如何使用 Kali Linux 是一个好主意。
如果你刚刚开始使用 Kali Linux那么了解如何使用 Kali Linux 是一个好主意。
Kali Linux 背后的公司 Offensive Security 已经创建了一本指南,介绍了 Linux 的基础知识Kali Linux 的基础知识、配置和设置。它还有一些关于渗透测试和安全工具的章节。
基本上,它拥有你开始使用 Kali Linux 所需知道的一切。最棒的是这本书可以免费下载。
基本上,它拥有你开始使用 Kali Linux 所需知道的一切。最棒的是这本书可以免费下载。
- [免费下载 Kali Linux 揭秘](https://kali.training/downloads/Kali-Linux-Revealed-1st-edition.pdf)
如果你遇到问题或想分享 VirtualBox 上运行 Kali Linux 的经验,请在下面的评论中告诉我们。
如果你遇到问题或想分享 VirtualBox 上运行 Kali Linux 的经验,请在下面的评论中告诉我们。
--------------------------------------------------------------------------------
@ -121,7 +121,7 @@ via: https://itsfoss.com/install-kali-linux-virtualbox
作者:[Ankush Das][a]
选题:[lujun9972][b]
译者:[wxy](https://github.com/wxy)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -1,8 +1,8 @@
[#]: collector: (lujun9972)
[#]: translator: (dianbanjiu )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: translator: (dianbanjiu)
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-10549-1.html)
[#]: subject: (10 Methods To Create A File In Linux)
[#]: via: (https://www.2daygeek.com/linux-command-to-create-a-file/)
[#]: author: (Vinoth Kumar https://www.2daygeek.com/author/vinoth/)
@ -10,47 +10,36 @@
在 Linux 上创建文件的 10 个方法
======
我们都知道,在 Linux 上,包括设备在内的一切都是文件。
我们都知道,在 Linux 上,包括设备在内的一切都是文件。Linux 管理员每天应该会多次执行文件创建活动(可能是 20 次50 次,甚至是更多,这依赖于他们的环境)。如果你想 [在Linux上创建一个特定大小的文件][1],查看前面的这个链接。
Linux 管理员每天应该会多次执行文件创建活动(可能是 20 次50 次,甚至是更多,这依赖于他们的环境)。
高效创建一个文件是非常重要的能力。为什么我说高效?如果你了解一些高效进行你当前活动的方式,你就可以事半功倍。这将会节省你很多的时间。你可以把这些有用的时间用到到其他重要的事情上。
如果你想 **[在Linux上创建一个特定大小的文件][1]**,查看前面的这个链接。
高效创建一个文件是非常重要的。为什么我说高效?如果你了解一些高效进行你当前活动的方式,你就可以事半功倍。
这将会节省你很多的时间。你可以把这些有用的时间用到到其他重要的事情上。
我下面将会介绍多个在 Linux 上创建文件的方法。我建议你选择几个简单高效的来辅助你的工作。
你不必安装下列的任何一个命令,因为它们已经作为 Linux 核心工具的一部分安装到你的系统上了。
我下面将会介绍多个在 Linux 上创建文件的方法。我建议你选择几个简单高效的来辅助你的工作。你不必安装下列的任何一个命令,因为它们已经作为 Linux 核心工具的一部分安装到你的系统上了。
创建文件可以通过以下六个方式来完成。
* **`重定向符号 (>):`** 标准重定向符允许我们创建一个 0KB 的空文件。
* **`touch:`** 如果文件不存在的话touch 命令将会创建一个 0KB 的空文件。
* **`echo:`** echo 命令通过一个参数显示文本的某行。
* **`printf:`** printf 命令用于显示在终端给定的文本。
* **`cat:`** 它串联并打印文件到标准输出。
* **`vi/vim:`** Vim 是一个向上兼容 Vi 的文本编辑器。它常用于编辑各种类型的纯文本。
* **`nano:`** nano 是一个简小且用户友好的编辑器。它复制了 Pico 的外观和优点,而且还是免费的
* **`head:`** head 用于打印一个文件开头的一部分。
* **`tail:`** tail 用于打印一个文件的最后一部分。
* **`truncate:`** truncate 用于缩小或者扩展文件的尺寸到指定大小。
* `>`:标准重定向符允许我们创建一个 0KB 的空文件。
* `touch`:如果文件不存在的话,`touch` 命令将会创建一个 0KB 的空文件。
* `echo`:通过一个参数显示文本的某行。
* `printf`:用于显示在终端给定的文本。
* `cat`:它串联并打印文件到标准输出。
* `vi`/`vim`Vim 是一个向上兼容 Vi 的文本编辑器。它常用于编辑各种类型的纯文本。
* `nano`:是一个简小且用户友好的编辑器。它复制了 `pico` 的外观和优点,但它是自由软件
* `head`用于打印一个文件开头的一部分。
* `tail`用于打印一个文件的最后一部分。
* `truncate`用于缩小或者扩展文件的尺寸到指定大小。
### 在 Linux 上使用重定向符(>>)创建一个文件
### 在 Linux 上使用重定向符(>)创建一个文件
标准重定向符允许我们创建一个 0KB 的空文件。它通常用于重定向一个命令的输出到一个新文件中。在没有命令的情况下使用重定向符号时,它会创建一个文件。
但是它不允许你在创建文件时向其中输入任何文本。然而它对于不是很勤劳的管理员是非常简单有用的。只需要输入重定向符后面跟着你想要的文件名。
(译者注:在输入下面的命令回车后,该命令并不会立刻中断,回车后你其实还可以继续输入一些文本,而这些文本都会被记录到你所创建的文章中去。在输入完成后,你可以使用 Ctrl+C 或者 Ctrl+D 来结束输入)
但是它不允许你在创建文件时向其中输入任何文本。然而它对于不是很勤劳的管理员是非常简单有用的。只需要输入重定向符后面跟着你想要的文件名。
```
$ > daygeek.txt
```
使用 ls 命令查看刚刚创建的文件。
使用 `ls` 命令查看刚刚创建的文件。
```
$ ls -lh daygeek.txt
@ -59,15 +48,15 @@ $ ls -lh daygeek.txt
### 在 Linux 上使用 touch 命令创建一个文件
touch 命令常用于将每个文件的访问和修改时间更新为当前时间。
`touch` 命令常用于将每个文件的访问和修改时间更新为当前时间。
如果指定的文件名不存在将会创建一个新的文件。touch 不允许我们在创建文件的同时向其中输入一些文本。它默认创建一个 0KB 的空文件。
如果指定的文件名不存在,将会创建一个新的文件。`touch` 不允许我们在创建文件的同时向其中输入一些文本。它默认创建一个 0KB 的空文件。
```
$ touch daygeek1.txt
```
使用 ls 命令查看刚刚创建的文件。
使用 `ls` 命令查看刚刚创建的文件。
```
$ ls -lh daygeek1.txt
@ -76,7 +65,7 @@ $ ls -lh daygeek1.txt
### 在 Linux 上使用 echo 命令创建一个文件
echo 内置于大多数的操作系统中。它常用于脚本批处理文件,以及作为插入文本的单个命令的一部分。
`echo` 内置于大多数的操作系统中。它常用于脚本批处理文件,以及作为插入文本的单个命令的一部分。
它允许你在创建一个文件时就向其中输入一些文本。当然也允许你在之后向其中输入一些文本。
@ -84,27 +73,27 @@ echo 内置于大多数的操作系统中。它常用于脚本,批处理文件
$ echo "2daygeek.com is a best Linux blog to learn Linux" > daygeek2.txt
```
使用 ls 命令查看刚刚创建的文件。
使用 `ls` 命令查看刚刚创建的文件。
```
$ ls -lh daygeek2.txt
-rw-rw-r-- 1 daygeek daygeek 49 Feb 4 02:04 daygeek2.txt
```
可以使用 cat 命令查看文件的内容。
可以使用 `cat` 命令查看文件的内容。
```
$ cat daygeek2.txt
2daygeek.com is a best Linux blog to learn Linux
```
你可以使用两个重定向符 (>>) 添加其他内容到同一个文件。
你可以使用两个重定向符 (`>>`) 添加其他内容到同一个文件。
```
$ echo "It's FIVE years old blog" >> daygeek2.txt
```
你可以使用 cat 命令查看添加的内容。
你可以使用 `cat` 命令查看添加的内容。
```
$ cat daygeek2.txt
@ -113,35 +102,36 @@ It's FIVE years old blog
```
### 在 Linux 上使用 printf 命令创建一个新的文件
printf 命令也可以以类似 echo 的方式执行。
printf 命令常用来显示在终端窗口给出的字符串。printf 可以有格式说明符,转义序列或普通字符。
`printf` 命令也可以以类似 `echo` 的方式执行。
`printf` 命令常用来显示在终端窗口给出的字符串。`printf` 可以有格式说明符、转义序列或普通字符。
```
$ printf "2daygeek.com is a best Linux blog to learn Linux\n" > daygeek3.txt
```
使用 ls 命令查看刚刚创建的文件。
使用 `ls` 命令查看刚刚创建的文件。
```
$ ls -lh daygeek3.txt
-rw-rw-r-- 1 daygeek daygeek 48 Feb 4 02:12 daygeek3.txt
```
使用 cat 命令查看文件的内容。
使用 `cat` 命令查看文件的内容。
```
$ cat daygeek3.txt
2daygeek.com is a best Linux blog to learn Linux
```
你可以使用两个重定向符 (>>) 添加其他的内容到同一个文件中去。
你可以使用两个重定向符 (`>>`) 添加其他的内容到同一个文件中去。
```
$ printf "It's FIVE years old blog\n" >> daygeek3.txt
```
你可以使用 cat 命令查看这个文件中添加的内容。
你可以使用 `cat` 命令查看这个文件中添加的内容。
```
$ cat daygeek3.txt
@ -150,11 +140,10 @@ It's FIVE years old blog
```
### 在 Linux 中使用 cat 创建一个文件
cat 表示串联concatenate。在 Linux 经常用于读取一个文件中的数据。
cat 是在类 Unix 系统中最常使用的命令之一。 它提供了三个与文本文件相关的功能:显示一个文件的内容,组合多个文件的内容到一个输出以及创建一个新的文件。
(译者注:如果 cat 命令后如果不带任何文件的话,下面的命令在回车后也不会立刻结束,回车后的操作同上面的重定向符中的注解)
`cat` 表示<ruby>串联<rt>concatenate</rt></ruby>。在 Linux 经常用于读取一个文件中的数据。
`cat` 是在类 Unix 系统中最常使用的命令之一。它提供了三个与文本文件相关的功能显示一个文件的内容、组合多个文件的内容到一个输出以及创建一个新的文件。LCTT 译注:如果 `cat` 命令后如果不带任何文件的话,下面的命令在回车后也不会立刻结束,回车后的操作可以按 `Ctrl-C``Ctrl-D` 来结束。)
```
$ cat > daygeek4.txt
@ -162,14 +151,14 @@ $ cat > daygeek4.txt
It's FIVE years old blog
```
使用 ls 命令查看创建的文件。
使用 `ls` 命令查看创建的文件。
```
$ ls -lh daygeek4.txt
-rw-rw-r-- 1 daygeek daygeek 74 Feb 4 02:18 daygeek4.txt
```
使用 cat 命令查看文件的内容。
使用 `cat` 命令查看文件的内容。
```
$ cat daygeek4.txt
@ -177,14 +166,14 @@ $ cat daygeek4.txt
It's FIVE years old blog
```
如果你想向同一个文件中添加其他内容,使用两个连接的重定向符(>>)。
如果你想向同一个文件中添加其他内容,使用两个连接的重定向符(`>>`)。
```
$ cat >> daygeek4.txt
This website is maintained by Magesh M, It's licensed under CC BY-NC 4.0.
```
你可以使用 cat 命令查看添加的内容。
你可以使用 `cat` 命令查看添加的内容。
```
$ cat daygeek4.txt
@ -194,9 +183,10 @@ This website is maintained by Magesh M, It's licensed under CC BY-NC 4.0.
```
### 在 Linux 上使用 vi/vim 命令创建一个文件
Vim 是一个向上兼容 Vi 的文本编辑器。它通常用来编辑所有种类的纯文本。在编辑程序时特别有用。
vim 中有很多功能可以用于编辑单个文件。
`vim` 是一个向上兼容 `vi` 的文本编辑器。它通常用来编辑所有种类的纯文本。在编辑程序时特别有用。
`vim` 中有很多功能可以用于编辑单个文件。
```
$ vi daygeek5.txt
@ -205,14 +195,14 @@ $ vi daygeek5.txt
It's FIVE years old blog
```
使用 ls 查看刚才创建的文件。
使用 `ls` 查看刚才创建的文件。
```
$ ls -lh daygeek5.txt
-rw-rw-r-- 1 daygeek daygeek 75 Feb 4 02:23 daygeek5.txt
```
使用 cat 命令查看文件的内容。
使用 `cat` 命令查看文件的内容。
```
$ cat daygeek5.txt
@ -221,7 +211,8 @@ It's FIVE years old blog
```
### 在 Linux 上使用 nano 命令创建一个文件
Nano 是一个编辑器,它是一个免费的 Pico 的克隆。nano 是一个小且用户友好的编辑器。它复制了 Pico 的外观及优点,并且是一个免费的应用,它添加了 Pico 缺乏的一系列特性,像是打开多个文件,每行滚动,撤销/重做,语法高亮,行号等等。
`nano` 是一个编辑器,它是一个自由版本的 `pico` 克隆。`nano` 是一个小且用户友好的编辑器。它复制了 `pico` 的外观及优点,并且是一个自由软件,它添加了 `pico` 缺乏的一系列特性,像是打开多个文件、逐行滚动、撤销/重做、语法高亮、行号等等。
```
$ nano daygeek6.txt
@ -231,13 +222,14 @@ It's FIVE years old blog
This website is maintained by Magesh M, It's licensed under CC BY-NC 4.0.
```
使用 ls 命令查看创建的文件。
使用 `ls` 命令查看创建的文件。
```
$ ls -lh daygeek6.txt
-rw-rw-r-- 1 daygeek daygeek 148 Feb 4 02:26 daygeek6.txt
```
使用 cat 命令来查看一个文件的内容。
使用 `cat` 命令来查看一个文件的内容。
```
$ cat daygeek6.txt
@ -248,13 +240,13 @@ This website is maintained by Magesh M, It's licensed under CC BY-NC 4.0.
### 在 Linux 上使用 head 命令创建一个文件
head 命令通常用于输出一个文件开头的一部分。它默认会打印一个文件的开头 10 行到标准输出。如果有多个文件,则每个文件前都会有一个标题,用来表示文件名。
`head` 命令通常用于输出一个文件开头的一部分。它默认会打印一个文件的开头 10 行到标准输出。如果有多个文件,则每个文件前都会有一个标题,用来表示文件名。
```
$ head -c 0K /dev/zero > daygeek7.txt
```
使用 ls 命令查看创建的文件。
使用 `ls` 命令查看创建的文件。
```
$ ls -lh daygeek7.txt
@ -263,13 +255,13 @@ $ ls -lh daygeek7.txt
### 在 Linux 上使用 tail 创建一个文件
tail 命令通常用来输出一个文件最后的一部分。它默认会打印每个文件的最后 10 行到标准输出。如果有多个文件,则每个文件前都会有一个标题,用来表示文件名。
`tail` 命令通常用来输出一个文件最后的一部分。它默认会打印每个文件的最后 10 行到标准输出。如果有多个文件,则每个文件前都会有一个标题,用来表示文件名。
```
$ tail -c 0K /dev/zero > daygeek8.txt
```
使用 ls 命令查看创建的文件。
使用 `ls` 命令查看创建的文件。
```
$ ls -lh daygeek8.txt
@ -278,13 +270,13 @@ $ ls -lh daygeek8.txt
### 在 Linux 上使用 truncate 命令创建一个文件
truncate 命令通常用作将一个文件的尺寸缩小或者扩展为某个指定的尺寸。
`truncate` 命令通常用作将一个文件的尺寸缩小或者扩展为某个指定的尺寸。
```
$ truncate -s 0K daygeek9.txt
```
使用 ls 命令检查创建的文件。
使用 `ls` 命令检查创建的文件。
```
$ ls -lh daygeek9.txt
@ -314,7 +306,7 @@ via: https://www.2daygeek.com/linux-command-to-create-a-file/
作者:[Vinoth Kumar][a]
选题:[lujun9972][b]
译者:[dianbanjiu](https://github.com/dianbanjiu)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -1,93 +0,0 @@
[#]: collector: (lujun9972)
[#]: translator: (lujun9972)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (How to use Magit to manage Git projects)
[#]: via: (https://opensource.com/article/19/1/how-use-magit)
[#]: author: (Sachin Patil https://opensource.com/users/psachin)
How to use Magit to manage Git projects
======
Emacs' Magit extension makes it easy to get started with Git version control.
![](https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/rh_003588_01_rd3os.combacktoschoolseriesk12_rh_021x_0.png?itok=fvorN0e-)
[Git][1] is an excellent [version control][2] tool for managing projects, but it can be hard for novices to learn. It's difficult to work from the Git command line unless you're familiar with the flags and options and the appropriate situations to use them. This can be discouraging and cause people to be stuck with very limited usage.
Fortunately, most of today's integrated development environments (IDEs) include Git extensions that make using it a lot easier. One such Git extension available in Emacs is called [Magit][3].
The Magit project has been around for 10 years and defines itself as "a Git porcelain inside Emacs." In other words, it's an interface where every action can be managed by pressing a key. This article walks you through the Magit interface and explains how to use it to manage a Git project.
If you haven't already, [install Emacs][4], then [install Magit][5] before you continue with this tutorial.
### Magit's interface
Start by visiting a project directory in Emacs' [Dired mode][6]. For example, all my Emacs configurations are stored in the **~/.emacs.d/** directory, which is managed by Git.
![](https://opensource.com/sites/default/files/uploads/visiting_a_git_project.png)
If you were working from the command line, you would enter **git status** to find a project's current status. Magit has a similar function: **magit-status**. You can call this function using **M-x magit-status** (short for the keystroke **Alt+x magit-status** ). Your result will look something like this:
![](https://opensource.com/sites/default/files/uploads/magit_status.png)
Magit shows much more information than you would get from the **git status** command. It shows a list of untracked files, files that aren't staged, and staged files. It also shows the stash list and the most recent commits—all in a single window.
If you want to know what has changed, use the Tab key. For example, if I move my cursor over the unstaged file **custom_functions.org** and press the Tab key, Magit will display the changes:
![](https://opensource.com/sites/default/files/uploads/show_unstaged_content.png)
This is similar to using the command **git diff custom_functions.org**. Staging a file is even easier. Simply move the cursor over a file and press the **s** key. The file will be quickly moved to the staged file list:
![](https://opensource.com/sites/default/files/uploads/staging_a_file.png)
To unstage a file, use the **u** key. It is quicker and more fun to use **s** and **u** instead of entering **git add -u <file>** and **git reset HEAD <file>** on the command line.
### Commit changes
In the same Magit window, pressing the **c** key will display a commit window that provides flags like **\--all** to stage all files or **\--signoff** to add a signoff line to a commit message.
![](https://opensource.com/sites/default/files/uploads/magit_commit_popup.png)
Move your cursor to the line where you want to enable a signoff flag and press Enter. This will highlight the **\--signoff** text, which indicates that the flag is enabled.
![](https://opensource.com/sites/default/files/uploads/magit_signoff_commit.png)
Pressing **c** again will display the window to write the commit message.
![](https://opensource.com/sites/default/files/uploads/magit_commit_message.png)
Finally, use **C-c C-c **(short form of the keys Ctrl+cc) to commit the changes.
![](https://opensource.com/sites/default/files/uploads/magit_commit_message_2.png)
### Push changes
Once the changes are committed, the commit line will appear in the **Recent commits** section.
![](https://opensource.com/sites/default/files/uploads/magit_commit_log.png)
Place the cursor on that commit and press **p** to push the changes.
I've uploaded a [demonstration][7] on YouTube if you want to get a feel for using Magit. I have just scratched the surface in this article. It has many cool features to help you with Git branches, rebasing, and more. You can find [documentation, support, and more][8] linked from Magit's homepage.
--------------------------------------------------------------------------------
via: https://opensource.com/article/19/1/how-use-magit
作者:[Sachin Patil][a]
选题:[lujun9972][b]
译者:[lujun9972](https://github.com/lujun9972)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/psachin
[b]: https://github.com/lujun9972
[1]: https://git-scm.com
[2]: https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control
[3]: https://magit.vc
[4]: https://www.gnu.org/software/emacs/download.html
[5]: https://magit.vc/manual/magit/Installing-from-Melpa.html#Installing-from-Melpa
[6]: https://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-Enter.html#Dired-Enter
[7]: https://youtu.be/Vvw75Pqp7Mc
[8]: https://magit.vc/

View File

@ -1,60 +0,0 @@
[#]: collector: (lujun9972)
[#]: translator: (geekpi)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Get started with Go For It, a flexible to-do list application)
[#]: via: (https://opensource.com/article/19/1/productivity-tool-go-for-it)
[#]: author: (Kevin Sonney https://opensource.com/users/ksonney (Kevin Sonney))
Get started with Go For It, a flexible to-do list application
======
Go For It, the tenth in our series on open source tools that will make you more productive in 2019, builds on the Todo.txt system to help you get more things done.
![](https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/coffee_cafe_brew_laptop_desktop.jpg?itok=G-n1o1-o)
There seems to be a mad rush at the beginning of every year to find ways to be more productive. New Year's resolutions, the itch to start the year off right, and of course, an "out with the old, in with the new" attitude all contribute to this. And the usual round of recommendations is heavily biased towards closed source and proprietary software. It doesn't have to be that way.
Here's the tenth of my picks for 19 new (or new-to-you) open source tools to help you be more productive in 2019.
### Go For It
Sometimes what a person needs to be productive isn't a fancy kanban board or a set of notes, but a simple, straightforward to-do list. Something that is as basic as "add item to list, check it off when done." And for that, the [plain-text Todo.txt system][1] is possibly one of the easiest to use, and it's supported on almost every system out there.
![](https://opensource.com/sites/default/files/uploads/go-for-it_1_1.png)
[Go For It][2] is a simple, easy-to-use graphical interface for Todo.txt. It can be used with an existing file, if you are already using Todo.txt, and will create both a to-do and a done file if you aren't. It allows drag-and-drop ordering of tasks, allowing users to organize to-do items in the order they want to execute them. It also supports priorities, projects, and contexts, as outlined in the [Todo.txt format guidelines][3]. And, it can filter tasks by context or project simply by clicking on the project or context in the task list.
![](https://opensource.com/sites/default/files/uploads/go-for-it_2.png)
At first, Go For It may look the same as just about any other Todo.txt program, but looks can be deceiving. The real feature that sets Go For It apart is that it includes a built-in [Pomodoro Technique][4] timer. Select the task you want to complete, switch to the Timer tab, and click Start. When the task is done, simply click Done, and it will automatically reset the timer and pick the next task on the list. You can pause and restart the timer as well as click Skip to jump to the next task (or break). It provides a warning when 60 seconds are left for the current task. The default time for tasks is set at 25 minutes, and the default time for breaks is set at five minutes. You can adjust this in the Settings screen, as well as the location of the directory containing your Todo.txt and done.txt files.
![](https://opensource.com/sites/default/files/uploads/go-for-it_3.png)
Go For It's third tab, Done, allows you to look at the tasks you've completed and clean them out when you want. Being able to look at what you've accomplished can be very motivating and a good way to get a feel for where you are in a longer process.
![](https://opensource.com/sites/default/files/uploads/go-for-it_4.png)
It also has all of Todo.txt's other advantages. Go For It's list is accessible by other programs that use the same format, including [Todo.txt's original command-line tool][5] and any [add-ons][6] you've installed.
Go For It seeks to be a simple tool to help manage your to-do list and get those items done. If you already use Todo.txt, Go For It is a fantastic addition to your toolkit, and if you don't, it's a really good way to start using one of the simplest and most flexible systems available.
--------------------------------------------------------------------------------
via: https://opensource.com/article/19/1/productivity-tool-go-for-it
作者:[Kevin Sonney][a]
选题:[lujun9972][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/ksonney (Kevin Sonney)
[b]: https://github.com/lujun9972
[1]: http://todotxt.org/
[2]: http://manuel-kehl.de/projects/go-for-it/
[3]: https://github.com/todotxt/todo.txt
[4]: https://en.wikipedia.org/wiki/Pomodoro_Technique
[5]: https://github.com/todotxt/todo.txt-cli
[6]: https://github.com/todotxt/todo.txt-cli/wiki/Todo.sh-Add-on-Directory

View File

@ -1,5 +1,5 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: translator: (geekpi)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )

View File

@ -0,0 +1,93 @@
[#]collector(lujun9972)
[#]translator(lujun9972)
[#]reviewer( )
[#]publisher( )
[#]url( )
[#]subject(How to use Magit to manage Git projects)
[#]via(https://opensource.com/article/19/1/how-use-magit)
[#]author(Sachin Patil https://opensource.com/users/psachin)
如何使用 Magit 管理 Git 项目
======
Emacs 的 Magit 扩展插件使得使用 Git 进行版本控制变得简单起来。
![](https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/rh_003588_01_rd3os.combacktoschoolseriesk12_rh_021x_0.pngitok=fvorN0e-)
[Git][1] 是一个很棒的用于项目管理的 [版本控制 ][2] 工具就是新人学习起来太难。Git 的命令行工具很难用,你不仅需要熟悉它的标志和选项还需要知道什么环境下使用他们。这使人望而生畏,因此不少人只在有限的几个场景中才使用它。
还在,现今大多数的集成开发环境 (IDE) 都包含了 Git 扩展大大地简化了使用使用的难度。Emacs 中就有这么一款 Git 扩展名叫 [Magit][3]。
Magit 项目成立有差不多 10 年了,它将自己定义为 "一件 Emacs 内的 Git 瓷器。" 也就是说,它是一个操作界面,每个操作都能一键完成。本文会带你领略一下 Magit 的操作界面并告诉你如何使用它来管理 Git 项目。
若你还未 [安装 Emacs][4],则开始本教程之前请先 [安装 Magit][5]。
### Magit 的界面
首先用 Emacs 的 [Dired mode][6] 访问一个项目目录。比如我所有的 Emacs 配置存储在 **~/.emacs.d/** 目录中,就是用 Git 来进行管理的。
![](https://opensource.com/sites/default/files/uploads/visiting_a_git_project.png)
若你在命令行下工作,则你需要输入 **git status** 来查看项目的当前状态。Magit 也有类似的函数:**magit-status**。你可以通过 **M-x magit-status** (快捷方式是 **Alt+x magit-status** )来调用该函数。结果看起来像下面这样:
![](https://opensource.com/sites/default/files/uploads/magit_status.png)
Magit 显示的信息比 **git status** 命令的要多得多。它分别列出了未追踪文件列表、未暂存文件列表以及已暂存文件列表。它还列出了储藏 (stash) 列表以及最近几次的提交—所有这些信息都在一个窗口中展示。
如果你想查看修改了哪些内容,按下 Tab 键。比如,我移动光标到未暂存文件 **custom_functions.org** 上然后按下 Tab 键Magit 会显示修改了哪些内容:
![](https://opensource.com/sites/default/files/uploads/show_unstaged_content.png)
这跟运行命令 **git diff custom_functions.org** 类似。储藏文件更简单。只需要移动光标到文件上然后按下 **s** 键。该文件就会迅速移动到被储藏文件列表中:
![](https://opensource.com/sites/default/files/uploads/staging_a_file.png)
要反储藏 (unstage) 某个文件,使用 **u** 键。按下 **s****u** 键要比在命令行输入 **git add -u <file>****git reset HEAD <file>** 快的多也更有趣的多。
### 提交更改
在同一个 Magit 窗口中,按下 **c** 键会显示一个提交窗口,其中提供了许多标志,比如 **--all** 用来暂存所有文件或者 **--signoff** 来往提交信息中添加签名行。
![](https://opensource.com/sites/default/files/uploads/magit_commit_popup.png)
将光标移动到想要启动的行,比如 signoff 标签行,然后按下回车。**--signoff** 文本会变成高亮,这说明该标志已经被启用。
![](https://opensource.com/sites/default/files/uploads/magit_signoff_commit.png)
再次按下 **c** 键会显示一个窗口供你输入提交信息。
![](https://opensource.com/sites/default/files/uploads/magit_commit_message.png)
最后,使用 **C-c C-c **(按键 Ctrl+cc 的缩写形式) 来提交更改。
![](https://opensource.com/sites/default/files/uploads/magit_commit_message_2.png)
### 推送更改
更改提交后,提交行将会显示在 **Recent commits** 段中显示。
![](https://opensource.com/sites/default/files/uploads/magit_commit_log.png)
将光标放到该提交处然后按下 **p** 来推送该变更。
若你想感受一下使用 Magit 的感觉,我已经在 YouTube 上上传了一段 [演示 ][7]。本文只涉及到 Magit 的一点皮毛。它有许多超酷的功能可以帮你使用 Git 分支,变基等功能。你可以在 Magit 的主页上找到 [文档,支持,以及更多 ][8] 链接。
--------------------------------------------------------------------------------
via: https://opensource.com/article/19/1/how-use-magit
作者:[Sachin Patil][a]
选题:[lujun9972][b]
译者:[lujun9972](https://github.com/lujun9972)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/psachin
[b]: https://github.com/lujun9972
[1]: https://git-scm.com
[2]: https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control
[3]: https://magit.vc
[4]: https://www.gnu.org/software/emacs/download.html
[5]: https://magit.vc/manual/magit/Installing-from-Melpa.html#Installing-from-Melpa
[6]: https://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-Enter.html#Dired-Enter
[7]: https://youtu.be/Vvw75Pqp7Mc
[8]: https://magit.vc/

View File

@ -0,0 +1,59 @@
[#]: collector: (lujun9972)
[#]: translator: (geekpi)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Get started with Go For It, a flexible to-do list application)
[#]: via: (https://opensource.com/article/19/1/productivity-tool-go-for-it)
[#]: author: (Kevin Sonney https://opensource.com/users/ksonney (Kevin Sonney))
开始使用 Go For It一个灵活的待办事项列表程序
======
Go For It是我们开源工具系列中的第十个工具它将使你在 2019 年更高效,它在 Todo.txt 系统的基础上构建,以帮助你完成更多工作。
![](https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/coffee_cafe_brew_laptop_desktop.jpg?itok=G-n1o1-o)
每年年初似乎都有疯狂的冲动,想方设法提高工作效率。新年的决议,开始一年的权利,当然,“与旧的,与新的”的态度都有助于实现这一目标。通常的一轮建议严重偏向封闭源和专有软件。它不一定是这样。
这是我挑选出的 19 个新的(或者对你而言新的)开源工具中的第 10 个工具来帮助你在 2019 年更有效率。
### Go For It
有时,人们要高效率需要的不是一个花哨的看板或一组笔记,而是一个简单,直接的待办事项清单。像“将项目添加到列表中,在完成后检查”一样基本的东西。为此,[纯文本 Todo.txt 系统][1]可能是最容易使用的系统之一,几乎所有系统都支持它。
![](https://opensource.com/sites/default/files/uploads/go-for-it_1_1.png)
[Go For It][2] 是一个简单易用的 Todo.txt 图形界面。如果你已经在使用 Todo.txt它可以与现有文件一起使用如果还没有那么可以同时创建待办事项和完成事项。它允许拖放任务排序允许用户按照他们想要执行的顺序组织待办事项。它还支持 [Todo.txt 格式指南][3]中所述的优先级,项目和上下文。而且,只需单击任务列表中的项目或者上下文就可通过它们过滤任务。
![](https://opensource.com/sites/default/files/uploads/go-for-it_2.png)
一开始Go For It 可能看起来与任何其他 Todo.txt 程序相同,但外观可能是骗人的。将 Go For It 与其他真正区分开的功能是它包含一个内置的[番茄工作法][4]计时器。选择要完成的任务,切换到“计时器”选项卡,然后单击“启动”。任务完成后,只需单击“完成”,它将自动重置计时器并选择列表中的下一个任务。你可以暂停并重新启动计时器,也可以单击“跳过”跳转到下一个任务(或中断)。当当前任务剩余 60 秒时它会发出警告。任务的默认时间设置为25分钟中断的默认时间设置为五分钟。你可以在“设置”页面中调整同时还能调整 Todo.txt 和 done.txt 文件的目录的位置。
![](https://opensource.com/sites/default/files/uploads/go-for-it_3.png)
Go For It 的第三个选项卡“已完成”,允许你查看已完成的任务并在需要时将其清除。能够看到你已经完成的可能是非常激励的,也是一种了解你在更长的过程中进度的好方法。
![](https://opensource.com/sites/default/files/uploads/go-for-it_4.png)
它还有 Todo.txt 的所有其他优点。Go For It 的列表可以被其他使用相同格式的程序访问,包括 [Todo.txt 的原始命令行工具][5]和任何已安装的[附加组件][6]。
Go For It 旨在成为一个简单的工具来帮助管理你的待办事项列表并完成这些项目。如果你已经使用过 Todo.txt那么 Go For It 是你的工具箱的绝佳补充,如果你还没有,这是一个尝试最简单、最灵活系统之一的好机会。
--------------------------------------------------------------------------------
via: https://opensource.com/article/19/1/productivity-tool-go-for-it
作者:[Kevin Sonney][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/ksonney (Kevin Sonney)
[b]: https://github.com/lujun9972
[1]: http://todotxt.org/
[2]: http://manuel-kehl.de/projects/go-for-it/
[3]: https://github.com/todotxt/todo.txt
[4]: https://en.wikipedia.org/wiki/Pomodoro_Technique
[5]: https://github.com/todotxt/todo.txt-cli
[6]: https://github.com/todotxt/todo.txt-cli/wiki/Todo.sh-Add-on-Directory