这将是我第一次使用git。我已将新文件(很多)添加到文件夹/项目(git local repository)。
我浏览了在线教程和论坛,看看我能做什么
git commit -a
所以我转到存储库的基本文件夹并执行
sudo git commit -a
然而,有些屏幕出现并要求我添加评论。我不知道如何进行或退出。我不想搞砸,所以我做了ctrl + Z并没有做任何事情。
你们可以概述我需要使用的命令吗?
git commit -a
和
git push?
答案 0 :(得分:281)
使用git add
命令,后跟空格分隔的文件名列表,例如
git add <file-name-1> <file-name-2> <file-name-3>
答案 1 :(得分:95)
添加您所做的所有更改:
git add .
提交它们:
git commit -m "MY MESSAGE HERE"
#-m是消息标志
你可以像这样把这些步骤放在一起:
git commit -a -m "MY MESSAGE HERE"
将提交的更改从本地存储库推送到远程存储库:
git push origin master
此后您可能需要输入github的用户名/密码。 Here's关于使用git的一个很好的入门读物。有点旧,但它涵盖了正在发生的事情。
答案 2 :(得分:22)
您也可以选择多个这样的文件
git add folder/subfolder/*
这将添加指定子文件夹中的所有文件。编辑一堆文件时非常有用,但你只想提交一些文件......
答案 3 :(得分:15)
正如有些人提到的,可能的方法是使用git interactive staging。 当您拥有不同扩展名的文件
时,这非常棒$ 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>>
现在您只需要插入要添加的文件的数量,因此,如果我们要添加TODO
和index.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
,但想象而不是7,我们有16,这将是非常麻烦的,我们不需要输入它们的好处因为我们可以使用范围,通过键入1-6
< / p>
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>>
答案 4 :(得分:11)
如果要在给定文件夹中添加多个文件,可以使用{,}
拆分它们。这对于不重复长路径是很棒的,例如
git add long/path/{file1,file2,...,filen}
请注意不要在,
之间添加空格。
答案 5 :(得分:4)
当您更改文件或在存储库中添加新文件时,您首先必须将它们暂存。
git add <file>
或者如果您想要暂存所有
git add .
通过执行此操作,您可以告诉git在下次提交时需要哪些文件。然后你做:
git commit -m 'your message here'
您使用
git push origin master
其中origin是远程存储库分支,master是本地存储库分支。
答案 6 :(得分:1)
听起来git正在启动您的编辑器(可能是vi
),以便您可以键入提交消息。如果您不熟悉vi
,则为easy to learn the basics。替代方案是:
使用git commit -a -m "my first commit message"
在命令行上指定提交消息(使用此消息不会启动编辑器)
将EDITOR
环境变量设置为您熟悉的编辑器
答案 7 :(得分:1)
如果您要在Github上暂存并提交所有文件,请执行以下操作;
git add -A
git commit -m "commit message"
git push origin master
答案 8 :(得分:1)
要添加您所做的所有更改:
git add .
添加单个文件夹:
git add directory path
添加多个文件夹:
git add folder1 folder2 folder3 foldern
要提交所有更改:
git commit -m "message"
要将已提交的更改从本地存储库推送到远程存储库:
git push origin branch name
答案 9 :(得分:0)
?步骤1 。
git init
?第二步。
a)所有文件
git add -a
b)仅特定文件夹
git add <folder1> <folder2> <etc.>
?步骤3。
git commit -m "Your message about the commit"
?step4。
git remote add origin https://github.com/yourUsername/yourRepository.git
?步骤5 。
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
答案 10 :(得分:0)
只需在每个文件名前后使用单引号,以确保任何带空格的文件都能按预期工作
git add 'file1' 'file2' 'file3'
答案 11 :(得分:0)
试试这个:
git add file1
git commit file1
git push
git add file2
git commit file2 --amend
git push
注意:没有 -m 选项的 git commit 将为您的提交消息打开一个编辑器。