如何同时添加多个文件到Git

这将是我第一次使用git。 我已经将新文件(很多)添加到文件夹/项目(git本地存储库)。

我经历了在线教程和论坛,看看我能做到

git commit -a 

所以我去存储库的基础文件夹,并做一个

  sudo git commit -a 

但是,然后,一些屏幕出现,并要求我添加一个评论,我做的。 我不知道如何进行或退出。 我不想搞乱,所以我没有按Ctrl + Z,没有做任何事情。

你们可以请概述我需要使用的命令吗?

 git commit -a 

 git push? 

要添加您所做的所有更改:

git add .

提交它们:

git commit -m "MY MESSAGE HERE" #m是消息标志

你可以像这样把这些步骤放在一起:

git commit -a -m "MY MESSAGE HERE"

将您提交的更改从本地存储库推送到远程存储库:

git push origin master

在这之后,你可能必须input你的用户名/密码github。 这里是使用git 的一个很好的入门。 有点旧,但它涵盖了发生的事情。

要在Git中添加多个文件,请使用git add命令,后跟一列空格分隔的文件名。

 git add <file-name-1> <file-name-2> <file-name-3> ... 

您也可以select像这样的多个文件

 git add folder/subfolder/* 

这将添加指定的子文件夹中的所有文件。 当你编辑一堆文件,但你只是想提交一些文件时非常有用…

正如一些人提到的一种可能的方式是使用git交互式分段 。 当你有不同的扩展名的文件,这是很好的

 $ git add -i staged unstaged path 1: unchanged +0/-1 TODO 2: unchanged +1/-1 index.html 3: unchanged +5/-1 lib/simplegit.rb *** Commands *** 1: status 2: update 3: revert 4: add untracked 5: patch 6: diff 7: quit 8: help What now> 

如果你按2然后enter你会得到一个可用的文件列表添加:

 What now> 2 staged unstaged path 1: unchanged +0/-1 TODO 2: unchanged +1/-1 index.html 3: unchanged +5/-1 lib/simplegit.rb Update>> 

现在你只需要插入你想添加的文件的数量,所以如果我们想添加TODOindex.html我们可以input1,2

 Update>> 1,2 staged unstaged path * 1: unchanged +0/-1 TODO * 2: unchanged +1/-1 index.html 3: unchanged +5/-1 lib/simplegit.rb Update>> 

你看到号码前面的*号? 这意味着该文件已被添加。

现在想象一下,你有7个文件,你想添加除了第七个以外的所有文件吗? 当然,我们可以input1,2,3,4,5,6但想象一下,而不是7我们有16,这将是相当繁琐的,我们不需要input所有的好东西,因为我们可以使用范围,键入1-6

 Update>> 1-6 staged unstaged path * 1: unchanged +0/-1 TODO * 2: unchanged +1/-1 index.html * 3: unchanged +5/-1 lib/simplegit.rb * 4: unchanged +5/-1 file4.html * 5: unchanged +5/-1 file5.html * 6: unchanged +5/-1 file6.html 7: unchanged +5/-1 file7.html Update>> 

我们甚至可以使用多个范围,所以如果我们想从1到3,从5到7,我们input1-3, 5-7

 Update>> 1-3, 5-7 staged unstaged path * 1: unchanged +0/-1 TODO * 2: unchanged +1/-1 index.html * 3: unchanged +5/-1 lib/simplegit.rb 4: unchanged +5/-1 file4.html * 5: unchanged +5/-1 file5.html * 6: unchanged +5/-1 file6.html * 7: unchanged +5/-1 file7.html Update>> 

如果我们input-number ,我们也可以使用这个来取消文件的存储,所以如果我们想取消文件编号1的话,我们可以input-1

 Update>> -1 staged unstaged path 1: unchanged +0/-1 TODO * 2: unchanged +1/-1 index.html * 3: unchanged +5/-1 lib/simplegit.rb 4: unchanged +5/-1 file4.html * 5: unchanged +5/-1 file5.html * 6: unchanged +5/-1 file6.html * 7: unchanged +5/-1 file7.html Update>> 

正如你可以想象的,我们也可以取消一系列的文件,所以如果我们键入 – 范围内的所有文件将被暂停。 如果我们想从5到7 -5-7所有的文件,我们input-5-7

 Update>> -5-7 staged unstaged path 1: unchanged +0/-1 TODO * 2: unchanged +1/-1 index.html * 3: unchanged +5/-1 lib/simplegit.rb 4: unchanged +5/-1 file4.html 5: unchanged +5/-1 file5.html 6: unchanged +5/-1 file6.html 7: unchanged +5/-1 file7.html Update>> 

如果要在给定文件夹中添加多个文件,可以使用{,}分割它们。 这是不重复长path,例如,真棒

 git add long/path/{file1,file2,...,filen} 

注意不要在两者之间留有空格。

当您更改文件或在存储库中添加新文件时,您首先必须对其进行处理。

 git add <file> 

或者如果你想全部演出

 git add . 

通过这样做,你正在告诉你在下一次提交时想要什么文件。 那你做:

 git commit -m 'your message here' 

你用

 git push origin master 

其中origin是远程存储库分支,master是您的本地存储库分支。

这听起来像git启动您的编辑器(可能是vi ),以便您可以键入提交消息。 如果你不熟悉vi ,很容易学习基础知识 。 替代scheme是:

  • 使用git commit -a -m "my first commit message"在命令行中指定提交消息(使用它不会启动编辑器)

  • EDITOR环境variables设置为您熟悉的编辑器