这将是我第一次使用git.我已经将新文件(很多)添加到文件夹/项目(git本地存储库)中.
我浏览了在线教程和论坛,看看我能做到
git commit -a
Run Code Online (Sandbox Code Playgroud)
所以我去了存储库的基本文件夹并做了一个
sudo git commit -a
Run Code Online (Sandbox Code Playgroud)
但随后,出现了一些屏幕并要求我添加评论.我不知道如何进行或退出.我不想搞砸所以我做了ctrl + Z并没有做任何事情.
你能概述一下我需要使用的命令吗?
git commit -a
Run Code Online (Sandbox Code Playgroud)
和
git push?
Run Code Online (Sandbox Code Playgroud)
Reg*_*ham 312
使用该git add
命令,后跟一个以空格分隔的文件名列表,例如
git add <file-name-1> <file-name-2> <file-name-3>
Run Code Online (Sandbox Code Playgroud)
小智 23
您也可以选择这样的多个文件
git add folder/subfolder/*
Run Code Online (Sandbox Code Playgroud)
这将添加指定子文件夹中的所有文件.编辑一堆文件时非常有用,但你只想提交一些文件...
Fab*_*nes 20
正如一些人所提到的,可能的方法是使用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>
Run Code Online (Sandbox Code Playgroud)
如果按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>>
Run Code Online (Sandbox Code Playgroud)
现在你只需要插入你想要添加的文件的数量,所以如果我们想要添加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>>
Run Code Online (Sandbox Code Playgroud)
你看到*
之前的号码?这意味着该文件已添加.
现在想象你有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>>
Run Code Online (Sandbox Code Playgroud)
我们甚至可以使用多个范围,因此如果我们想要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>>
Run Code Online (Sandbox Code Playgroud)
如果我们输入-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>>
Run Code Online (Sandbox Code Playgroud)
正如您可以想象的那样,我们也可以取消一系列文件,因此如果我们输入-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>>
Run Code Online (Sandbox Code Playgroud)
Eli*_*iuX 12
如果要在给定文件夹中添加多个文件,可以使用它们进行拆分{,}
.这对于不重复长路径是很棒的,例如
git add long/path/{file1,file2,...,filen}
Run Code Online (Sandbox Code Playgroud)
小心不要在它之间放置空格,
.
git init
Run Code Online (Sandbox Code Playgroud)
a) 对于所有文件
git add -a
Run Code Online (Sandbox Code Playgroud)
b) 仅特定文件夹
git add <folder1> <folder2> <etc.>
Run Code Online (Sandbox Code Playgroud)
git commit -m "Your message about the commit"
Run Code Online (Sandbox Code Playgroud)
git remote add origin https://github.com/yourUsername/yourRepository.git
Run Code Online (Sandbox Code Playgroud)
git push -u origin master
git push origin master
Run Code Online (Sandbox Code Playgroud)
如果你遇到这个错误
! [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.
Run Code Online (Sandbox Code Playgroud)
使用这个命令
git push --force origin master
Run Code Online (Sandbox Code Playgroud)
只需在每个文件名周围使用单引号即可确保任何带空格的文件都按预期工作
git add 'file1' 'file2' 'file3'
Run Code Online (Sandbox Code Playgroud)