我试图围绕着Git的错综复杂的头部。为什么我必须使用“git commit -a”而不是“git commit”?
我使用“git clone [url here]”从GitHub中取出了一个存储库。
我做了一些改变,试图用“git commit”提交它们。这似乎并没有将更改推送到我的本地存储库(在本地目录“.git),并且它建议我使用”git commit -a“来代替。
我想知道为什么我必须追加“-a” 到 “git的承诺”,并在什么混帐
我试图围绕着Git的错综复杂的头部。为什么我必须使用“git commit -a”而不是“git commit”?
我使用“git clone [url here]”从GitHub中取出了一个存储库。
我做了一些改变,试图用“git commit”提交它们。这似乎并没有将更改推送到我的本地存储库(在本地目录“.git),并且它建议我使用”git commit -a“来代替。
我想知道为什么我必须追加“-a” 到 “git的承诺”,并在什么混帐
-a
,--all
告诉命令自动阶段已修改和删除,但新的文件,你还没有告诉不受影响git的文件。
Git有一个临时区域。默认情况下,git commit
仅提交添加到该暂存区域的数据。 -a
开关提交所有未提交的工作副本本身。
暂存区域的想法是,您可能不想一次提交所有更改。如果是这种情况,你想要提交的文件是git add
,或者如果你想要它更细化,你只需要git add -p
并选择一个文件内的一些改变来提交。
有一个很好的解释以及图像显示如何,它基本上在GitHub上的Git教程作品:http://web.archive.org/web/20130519130755/http://learn.github.com/p/normal.html
git commit -a
“舞台” 和 “提交” 之间的区别是短手:
git add file.txt
git commit file.txt
这只是将新文件提交到存储库的一种更简单的方法。(文件必须先“添加”才可以承诺)
你不需要。
-a
选项要求git commit
自动将所做的所有更改添加到存储库中的文件。
你并不总是那么想。特别是因为有时你想做出多个承诺来区分变更组。当你想要选择要添加的内容时,通常在使用git add
之前添加更改。
git -a commit
显然有我们必须做两两件事等同于
git add .
git commit
,如果我们要提交修改后的文件或未修复的文件
第一个是“分段” 第二个是“提交”
分段是任何提交旅程的中间阶段,当然它是可选的。 暂存过程仅用于防止意外提交。一般而言,在提交前,如果我们输入git commit
,那么所有被跟踪文件中的任何新的未跟踪文件或修改都需要执行,然后再进行提交。
简单来说,升级的主要目的是防止意外提交。如果使用分段进程,在使用git checkout filename
提交之前放弃任何更改都很方便。
看看这个页面:http://git-scm.com/about/staging-area
如果你真的认为你不需要升级,就可以使用git commit -a
它只会犯被跟踪文件中的所有当前未跟踪文件和修改。
总是建议经历分期,因为您可以放弃任何您不想在当前提交中进行的更改。如果您使用git commit -a
,则不必使用git add filename
进行分段
+1用于明确提及暂存区域并对其进行解释。 –