这将是我第一次使用 git。我已将新文件(很多)添加到文件夹/项目(git 本地存储库)中。
我浏览了在线教程和论坛,看看我能做到
git commit -a
所以我去存储库的基本文件夹并做一个
sudo git commit -a
但是随后,一些屏幕出现并要求我添加我所做的评论。我不知道如何继续或退出。我不想搞砸所以我做了 ctrl + Z 并没有做任何事情。
你们能概述一下我需要使用的命令吗?
git commit -a
和
git push?
使用该git add
命令,后跟以空格分隔的文件名列表。如果在其他目录中,则包括路径,例如directory-name/file-name
.
git add file-1 file-2 file-3
(请注意文件名区分大小写,必须包含“.extension”)
要添加您所做的所有更改:
git add .
提交它们:
git commit -m "MY MESSAGE HERE"
#-m 是消息标志
您可以像这样将这些步骤放在一起:
git commit -a -m "MY MESSAGE HERE"
要将已提交的更改从本地存储库推送到远程存储库:
git push origin master
在此之后,您可能需要输入 github 的用户名/密码。 这是使用 git 的一个很好的入门。有点旧,但它很好地涵盖了正在发生的事情。
正如一些人提到的一种可能的方法是使用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
,但是想象一下我们有 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 folder/subfolder/*
这将添加指定子文件夹中的所有文件。当您编辑一堆文件但您只想提交其中一些文件时非常有用......
如果要在给定文件夹中添加多个文件,可以使用{,}
. 这对于不重复长路径来说太棒了,例如
git add long/path/{file1,file2,...,filen}
注意不要在,
.
只需在每个文件名周围使用单引号,以确保任何带空格的文件都能按预期工作
git add 'file1' 'file2' 'file3'
当您更改文件或在存储库中添加新文件时,您首先必须暂存它们。
git add <file>
或者如果你想全部上演
git add .
通过这样做,你告诉 git 在你的下一次提交中你想要什么文件。然后你做:
git commit -m 'your message here'
你用
git push origin master
其中 origin 是远程存储库分支,master 是您的本地存储库分支。
步骤 1。
git init
第2步。
a) 对于所有文件
git add -a
b)仅特定文件夹
git add <folder1> <folder2> <etc.>
第三步。
git commit -m "Your message about the commit"
第4步。
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
要添加您所做的所有更改:
git add .
添加单个文件夹:
git add directory path
添加多个文件夹:
git add folder1 folder2 folder3 foldern
提交所有更改:
git commit -m "message"
要将已提交的更改从本地存储库推送到远程存储库:
git push origin branch name
听起来 git 正在启动您的编辑器(可能vi
),以便您可以输入提交消息。如果你不熟悉vi
,很容易学习基础知识。替代方案是:
用于git commit -a -m "my first commit message"
在命令行上指定提交消息(使用它不会启动编辑器)
将EDITOR
环境变量设置为您熟悉的编辑器
如果您想在 Github 上暂存和提交所有文件,请执行以下操作;
git add -A
git commit -m "commit message"
git push origin master
我使用命令:git add *CMakeLists.txt
,以便在子目录中添加所有 CmakeLists.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\Executable\CMakeLists.txt
z:\Temp\proj_I2.21.09.24\tools\TAF\Recording\CMakeLists.txt
z:\Temp\proj_I2 .21.09.24\Design\original\CMakeLists.txt
尝试这个:
git add file1
git commit file1
git push
git add file2
git commit file2 --amend
git push
注意:不带 -m 选项的 git commit 将为您的提交消息打开一个编辑器。