来自SVN世界,我是git的新手.到目前为止,它似乎更有用,但我仍然在解决问题.
目前,我的工作流程是这样的:
进行更改> git add.> git commit>输入日志消息
我不明白的是为什么我似乎必须在提交之前添加所有文件.他们已经受版本控制了吗?为什么git commit告诉我没有添加到提交的更改,但是也指出我修改了文件?它说"已更改但未更新:".这是什么意思??
对不起,如果这很容易,我觉得我错过了一些重要的观点
Jus*_* L. 48
这允许您通过编辑分隔提交.如果您现在只想提交这些文件,在一次提交下,然后现在提交这些文件,在第二次提交下,您可以执行以下操作:
git add files_under_one_topic
git commit -m "this is about one thing"
git add files_left_over_to_commit_about_a_completely_different_topic
git commit -m "this is about another thing."
Run Code Online (Sandbox Code Playgroud)
Der*_*eer 20
Git通过使用"临时"区域来工作,您可以在其中准备要作为提交捆绑在一起的内容.因此,您决定要提交哪些更改集(例如,全部或子集),将它们添加到暂存区域,然后提交暂存区域中的内容.
当您调用时git status,它会显示已添加到暂存区域的内容(即"要提交的更改"),git正在跟踪的文件(即已更改但未更新)中已修改的内容,以及您的任何新文件从来没有添加过(即Untracked文件).
如果您只想提交已更改的内容,但不包括可以使用的新创建的文件 git commit -a -m "Comment for modified files already under source control."
Eth*_*her 12
你没有添加文件,因为你将它们置于git控件之下,但是你将它们添加到更改列表中.其他一些SCM(如perforce)也可以这样做.它可以很方便地构建您尚未准备好提交的不同更改集,但您希望在单独的块中提交.
你可以通过简单的方式以更加颠覆性的方式git commit -a提交 - 这将提交git知道的所有已经改变的东西,就像那样svn commit做.
(PS.因为你是从svn世界来的,所以我会提到另一个让我陷入一个循环的问题 - 当你git diff,它只会向你展示你当前状态与变更清单中的内容之间的差异,不是你当前状态和最后一次提交之间的区别.如果你git diff在添加所有更改的文件后立即运行(例如git add -u),你会看到一个空的差异,即使有差异要提交!)
| 归档时间: |
|
| 查看次数: |
12247 次 |
| 最近记录: |