在git bash中创建一个新文件

43

我已成功在Windows上安装了Git,但是不确定它是否可用作文本编辑器?

我认为我是使用Vim编辑器进行安装的,但在Git Bash shell中如何创建文件,比如webpage.html?

$ git add webpage.html

变成了

fatal: pathspec 'webpage.html' did not match any files
因为它试图跟踪一个不存在的文件。
我知道我可以在github.com界面上创建一个新文件,这很容易,但我想知道是否可以创建一个新文件(就像cmd中的echo),而且这个文件会是空白的吗(在cmd中使用echo会创建非空文件)以及我如何从git bash shell写入该文件?
如果不行,我猜我应该在Windows资源管理器中创建一个新文件?那是正常做法吗...?

编辑

哇,当我问上面的问题时,我对所有这些都是新手。不,Git Bash不是一个文本编辑器,它是Unix上git工具的Windows版本,只处理文件版本控制。git addgit rm和其他git命令只是处理版本控制文件管理器如何处理文件和文件夹的方式,因此产生的唯一变化位于名为.git的隐藏文件夹中。如果这让任何人感到困惑,我很抱歉。
当时我感到困惑,因为Git Bash的名称表明它附带了bash shell命令,而不仅仅是git - 例如 ls (列出文件), mkdir (创建新文件夹)以及 - 我正在寻找的 - touch (创建新文件或更新现有文件的时间戳),以及 echo (将文本打印到命令行,或将该文本指向一个文件)。
我可以使用以下命令创建我的新文件 webpage.html
touch webpage.html

然后使用以下方式写入:

echo "<!DOCTYPE html>" > webpage.html

然后使用以下方式向其添加行:

echo "<html" >> webpage.html
echo "<head>" >> webpage.html

等等之类的 - 但我认为没有任何文本编辑器(根据这个命令列表)。有关在Windows上设置文本编辑器与Git的详细信息,请参见此主题

5个回答

61

如果您使用的是Git Bash shell,您可以使用以下技巧:

> webpage.html

这实际上与以下内容相同:

echo "" > webpage.html

然后,您可以使用git add webpage.html命令将文件添加到暂存区。


$.gitignore不起作用吗??但是$echo "" > .gitignore可以解决问题。我使用的是git版本1.9.4,运行在Win 7机器上。 - Dexter
@Dexter - 你试过使用 > .gitignore 吗?注意 > 符号。 - dparpyani
优秀的解决方案。这真的很简单,你知道为什么没有像 git create index.html 这样的命令吗? - Michelangelo
1
已经有一个命令可以实现这个功能:touch webpage.html。它会创建一个空文件。它在Git bash和MSYS2中都可用。 - Austin B

13

这是在git bash中创建文件非常简单的方法,首先输入touch,然后输入带有扩展名的文件名

例如

touch filename.extension

2
使用Git创建文件
touch fileName

Create a folder using Git

mkdir folderName 

0

是的,没错。只需在Windows资源管理器中创建文件,git会自动将这些文件检测为当前未跟踪的文件。然后使用您已经提到的命令添加它。

git add不会创建任何文件。参见http://gitref.org/basic/#add

Github可能使用touch创建文件并自动将文件添加到跟踪列表中。您也可以在bash中执行此操作。


那么你的意思是我可以用"$ git touch webpage.html"创建一个文件吗? - Louis Maddox
1
是的,也不完全是。git touch 不是官方命令,但你可以为两个 bash 命令 touch $1 && git add $1 创建一个别名。touch 是一个 bash 命令。请参见 https://git.wiki.kernel.org/index.php/Aliases。你也可以查看这些 git extras:https://github.com/visionmedia/git-extras,其中已经包含了 git touch - Denis Loh

0

echo "" > emptyfile.txt


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接