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

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

我浏览了在线教程和论坛,看看我能做些什么

git commit -a

因此,我转到存储库的基本文件夹,并执行

sudo git commit -a

然后,一些屏幕出现了,要求我添加一个评论,我做到了。我不知道如何进行或退出。我不想搞砸,所以我做了 ctrl + Z,没有做任何事情。

你们能给我列出我需要使用的命令吗?

git commit -a

还有

git push?
379948 次浏览

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

git add .

犯下这些罪行:

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

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

git commit -a -m "MY MESSAGE HERE"

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

git push origin master

在此之后,您可能需要为 github 键入您的用户名/密码。给你是使用 git 的好入门书。有点老了,但是它很好地解释了现在发生的事情。

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

git add <file>

或者你想把所有

git add .

通过这样做,你可以得到你想要的下一个提交文件,然后你可以这样做:

git commit -m 'your message here'

你用

git push origin master

其中原点是远程存储库分支,master 是本地存储库分支。

听起来像是 git 启动了您的编辑器(可能是 vi) ,这样您就可以键入提交消息。如果你不熟悉 vi,它是 很容易掌握基础知识。其他选择包括:

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

  • 将环境变量设置为你熟悉的编辑器

使用 Git add命令,后跟空格分隔的文件名列表。

git add file-1 file-2 file-3

包括路径和扩展名。

git add images/logo.png scripts/app.js

您也可以像这样选择多个文件

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,我们将键入 1,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个文件,并且希望添加除第7个文件以外的所有文件?当然,我们可以输入 1,2,3,4,5,6,但是想象一下,如果我们输入的是16,而不是7,那将是相当麻烦的,好消息是,我们不需要全部输入它们,因为我们可以使用范围,通过输入 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,我们键入 1-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>>

我们也可以用它来卸载文件,如果我们键入 -number,所以如果我们想卸载文件号1,我们会键入 -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>>

正如您可以想象的,我们还可以卸载一个范围的文件,所以如果我们键入 -range,该范围内的所有文件都将被卸载。如果我们想取消所有的文件从5到7,我们会键入 -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>>

如果要在给定的文件夹中添加多个文件,可以使用 {,}分割它们。这对于不重复漫长的路径来说是非常棒的,例如。

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

注意不要在 ,之间放置空格。

如果你想在 Github 上提交你所有的文件,请执行以下操作;

git add -A
git commit -m "commit message"
git push origin master
git init

A)所有档案

git add -a

B)只有特定的文件夹

git add <folder1> <folder2> <etc.>
git commit -m "Your message about the commit"

enter image description here

git remote add origin https://github.com/yourUsername/yourRepository.git
git push -u origin master
git push origin master

如果你正面对这个错误

 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://github.com/harishkumawat2610/Qt5-with-C-plus-plus.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

使用这个命令

git push --force origin master

简单地使用 在每个文件名前后使用单引号来确保任何带有空间的操作都能按预期进行

git add 'file1' 'file2' 'file3'

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

git add .

添加单个文件夹:

git add directory path

添加多个文件夹:

git add folder1 folder2 folder3 foldern

提交所有更改:

git commit -m "message"

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

git push origin branch name

试试这个:

git add file1
git commit file1
git push
git add file2
git commit file2 --amend
git push

注意: git commit without-m 选项将为您的提交消息打开一个编辑器。

我使用以下命令: git add *CMakeLists.txt,以便在子目录中添加所有的 CmaLists.txt 文件:

Z: Temp proj _ I2.21.09.24 CMakeLists.txt
Z: Temp proj _ I2.21.09.24 tools t1 src CMakeLists.txt
Z: Temp proj _ I2.21.09.24 tools TAF VV CMakeLists.txt
Z: Temp proj _ I2.21.09.24 tools TAF Execute CMakeLists.txt
Z: Temp proj _ I2.21.09.24 tools TAF Recoring CMakeLists.txt
Z: Temp proj _ I2.21.09.24设计原始 CMakeLists.txt