在我读过的所有Git教程中,他们说你可以这样做:
git init git add . git commit
当我这样做时,我打开了一个大文本文件.这些教程似乎都没有解决这个问题,所以我不知道该如何处理该文件或者如果有的话要放入什么内容.
您打算将提交消息放在此文本文件中,然后保存并退出.
您可以使用此命令更改git使用的默认文本编辑器:
git config --global core.editor "nano"
您必须将nano更改为通常打开文本编辑器的任何命令.
正如Ben Collins所提到的,没有-m "..."
输入内联提交的参数(这通常是一个坏主意,因为它鼓励你简短),这个打开的"大文本文件"是一个窗口,在其中键入提交消息.
通常建议在第一行写一个摘要,跳过一行,然后在下面写下更详细的注释; 这有助于程序执行诸如使用适当的主题行通过电子邮件发送提交消息以及在正文中进行的完整更改列表.
EDITOR
您也可以通过在~/.gitconfig
文件中添加其他行来更改使用的编辑器,而不是更改shell变量:
[core] editor = emacs excludesfile = /Users/will/.gitignore
第二行实际上与你的问题无关,但我觉得它非常有用,所以我可以~/.gitignore
使用所有这些文件类型填充我的文件,我知道我永远不会想要提交到存储库.
正在打开的文本文件是当前提交操作的摘要.git commit会将您放入此文件中,以便您可以在文件顶部添加提交消息.添加完消息后,只需保存并退出此文件即可.
此命令上还有一个"-m msg"开关,允许您在命令行上添加提交消息.
假设您的编辑器默认为vi/vim,您可以通过键入以下命令退出提交消息编辑器:
:x
这将保存并退出提交消息文件.然后你将回到正常的git命令部分.
更多vi命令:http:
//www.lagmonster.org/docs/vi.html
如果您使用的是Mac OS X并使用BBEdit,则可以将其设置为提交消息的首选编辑器:
git config --global core.editor "bbedit -w"
完成编辑后,保存并关闭文件,git会将其用于评论.
正如所有人都说的那样,这就是你添加提交注释的地方 - 但对于某些人来说,如果你没有配置你的编辑器设置,你可能仍然会混淆esp,而你却不知道VI是什么:那么你可能会感到震惊,因为你会认为你还在GIT-Bash中
在这种情况下,你实际上是在一个文本编辑器中,有一些有趣的处理方法,这组命令可以帮助你,以便你可以通过你的第一次提交,然后配置你熟悉的编辑器或使用它作为学习如何使用它的机会.
在-m
提交选项,可以在命令行输入提交信息:
git commit -m "my first commit"
当你创建一个新的提交时,git会激活一个文本编辑器并将一些内容写入其中.
使用此文本编辑器,您的目的是编写将与您的feshly创建的提交相关联的提交消息.
完成此操作后,保存并退出文本编辑器.Git将使用您编写的提交消息.
提交消息具有特定结构,描述如下:
提交消息的第一行用作消息头(或标题).提交头的优先级长度少于40个字符,因为这是github在截断它之前在给定存储库的"提交"选项卡上显示的字符数,有些人会觉得很烦人.
在编写标题时,对第一个单词使用大写的现在时单动词是常见的做法,尽管根本不需要.
一个换行符描述了消息的标题和正文.
身体可以包括你喜欢的任何东西.您提交的更改概述是合理的.一些第三方应用程序使用包含提交消息体的信息来引发各种钩子(我在想Gerrit和Pivotal Tracker,两个名字).
这是一个简短而又甜蜜的例子.领先#
表示评论.
Gitignore index.pyc Ignore gunicorn generated binary file # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # On branch dev # Your branch is ahead of 'origin/dev' by 10 commits. # (use "git push" to publish your local commits) # # Changes to be committed: # (use "git reset HEAD..." to unstage) # # modified: .gitignore #
在这里,一位托瓦兹先生就是什么做出了很好的承诺.
而这里 Tpope做同样.
如其他几个答案中所述,更改默认编辑器是命令行上的一行代码.
根据我的喜好:
git config --global core.editor "vim"
完成输入消息后,尝试Escape然后尝试ZZ.正如其他人所说,当你运行该提交命令时,它实际上运行一个文本编辑器来输入消息.在我的情况下(OS X)它是VI,我在经过一些挖掘后想出来了.在这种情况下,按Escape进入"命令"模式(与INSERT模式相反)进入ZZ.我确信还有其他方法可以完成任务,但这样做对我而言.从未使用过VI或emacs,这对我来说并不是很明显,并且在我使用的任何初学者指南中都没有提及.希望这会有所帮助.