我正在试着把我的大脑包裹在Git的错综复杂的地方。
我使用"git clone url here“从GitHub下载了一个存储库。
我做了一些修改,他们试着用"git commit“来提交它们。这似乎没有将更改推送到我的本地存储库(在本地目录“.git”中),它建议我改用"git commit -a“。
我想知道为什么我必须在"git commit“后面加上"-a”,在git中"stage“和"commit”有什么不同?
发布于 2013-01-22 21:42:25
-a,--all
告诉命令自动暂存已修改和删除的文件,但未告知git的新文件不受影响。
Git有一个中转区。默认情况下,git commit仅提交添加到该临时区域的数据。-a开关从工作副本本身提交所有未提交的更改。
暂存区的想法是,您可能不想一次提交所有更改。如果是这样的话,你应该提交你想要提交的文件-或者如果你想要提交更细粒度的文件,你应该git add -p并只选择文件中的一些修改来提交。
在Git教程:http://web.archive.org/web/20130519130755/http://learn.github.com/p/normal.html中有一个很好的解释,外加一张显示它基本工作原理的图片
发布于 2013-01-22 21:42:24
你不需要这么做。
-a选项要求git commit自动添加您对存储库中的文件所做的所有更改。
你并不总是想要这样。特别是因为有时您希望进行多个提交以区分变更组。当您想要选择要添加的内容时,通常会在使用git add提交之前添加更改。
发布于 2013-01-22 21:42:22
git commit -a
是以下的简称:
git add file.txt
git commit file.txt这只是将新文件提交到存储库的一种更简单的方法。(文件必须“添加”后才能提交)
https://stackoverflow.com/questions/14459927
复制相似问题