Create a new file in git bash

2019-03-09 18:56发布

I've got Git for Windows running, I'm not sure if it's supposed to function as a text editor though?

I think I installed it with the Vim editor, but in a Git Bash shell how do I create a file, such as webpage.html?

$ git add webpage.html

comes back as

fatal: pathspec 'webpage.html' did not match any files

because it tries to track a non-existing file.

I understand I can create a new file on the github.com interface, that's easy enough, I'm wondering if I can create a new file (like echo in cmd) and whether this file will actually be blank (echo in cmd creates non-blank files) and how I can write into that file from the git bash shell?

If not, I'm guessing I should just create a new file in windows explorer? Is that the norm...?

Edit

Wow, I was new to all this when I asked the above. No, Git Bash isn't a text editor, it's a Windows version of the git facility on Unix, and only handles the file versioning. git add, git rm, and other git commands just handle how the version control file manager handles the files and folders, and the only things it changes as a result are in a hidden folder named .git. Sorry if this has confused anyone.

I was confused at the time because, as the name suggests, Git Bash has bash shell commands shipped with it, not just git - e.g. ls (list files), mkdir (make new folder), and -- what I was looking for -- touch (make a new file or update timestamp on existing file), and echo (print text to the command line, or direct that text to a file).

I could have made my new file webpage.html with:

touch webpage.html

Then written to it with:

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

Then appended lines to it with:

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

and so on - but I don't think there's any text editor (according to this list of commands). See this thread for details of setting up a text editor with Git on Windows.

2条回答
做自己的国王
2楼-- · 2019-03-09 19:07

Yes, it is. Just create files in the windows explorer and git automatically detects these files as currently untracked. Then add it with the command you already mentioned.

git add does not create any files. See also http://gitref.org/basic/#add

Github probably creates the file with touch and adds the file for tracking automatically. You can do this on the bash as well.

查看更多
Emotional °昔
3楼-- · 2019-03-09 19:12

If you are using the Git Bash shell, you can use the following trick:

> webpage.html

This is actually the same as:

echo "" > webpage.html

Then, you can use git add webpage.html to stage the file.

查看更多
登录 后发表回答