这将是我第一次使用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
在此之后,您可能必须输入github的用户名/密码。 Here's是使用git的一个很好的入门读物。有点旧,但它涵盖了正在发生的事情。
使用git add
命令,后跟空格分隔的文件名列表,例如:
git add <file-name-1> <file-name-2> <file-name-3>
您也可以选择这样的多个文件
git add folder/subfolder/*
这将添加指定子文件夹中的所有文件。编辑一堆文件时非常有用,但你只想提交一些文件...
正如一些人提到的可能的方法是使用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
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}
小心不要在,
之间放置空格。
当您更改文件或在存储库中添加新文件时,您首先必须暂存它们。
git add <file>
或者如果你想要分阶段
git add .
通过执行此操作,您可以告诉git在下次提交时需要哪些文件。然后你做:
git commit -m 'your message here'
你用
git push origin master
origin是远程存储库分支,master是本地存储库分支。
听起来git正在启动你的编辑器(可能是vi
),这样你就可以输入提交信息了。如果你不熟悉vi
,那就是easy to learn the basics。替代方案是:
git commit -a -m "my first commit message"
在命令行上指定提交消息(使用此命令不会启动编辑器)EDITOR
环境变量设置为您熟悉的编辑器如果您想在Github上暂存和提交所有文件,请执行以下操作:
git add -A
git commit -m "commit message"
git push origin master