为什么我需要“git add”我的签出文件?

时间:2013-01-11 01:11:53

标签: git version-control

我查看了一个包含git clone的项目,添加了一些文件,并编辑了已签出的README.md

当我执行git commit时,我会收到此建议以添加我已检出的文件。

# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   README.md
  • 为什么这个档案没有上演?
  • 我该怎么办才能自动暂存此文件?

3 个答案:

答案 0 :(得分:4)

Git不会将更改的文件和新文件添加到提交中。首先,您需要将文件更改为索引阶段(要提交的更改)。对于新文件和已修改文件,您可以使用git add file执行此操作,对于删除的文件,您可以执行git rm。当您执行git status时,只会提交使用git commit时“要提交的更改”中列出的文件。

执行git commit时自动添加已更改文件的一种简单方法是传递选项-agit commit -a。这样,所有更改的文件都将被提交。但是,不会提交新文件和已删除的文件。如果您只想提交一些已更改的文件,则需要使用git add手动添加每个文件。

答案 1 :(得分:3)

该文件未暂存,因为默认情况下不会更改更改。如果您不想使用git索引功能,则需要通过运行git commit -agit commit file1 file2...来提交更改。

答案 2 :(得分:0)

尝试执行此操作:git commit -a -m "message"

添加所有更改git add .