2013-12-18 38 views
0

我新近在git上,我试图研究这个有用的CVS。git add。命令 - 不添加更改

但我推送了一些项目到远程存储库,我想更新状态并推送此更改。

在此之前我想添加所有已完成的更改。

但是当我运行git add . - 它什么都不做。

状态与之前运行此命令的状态相同。

下面是详细信息:

[email protected]:~/workspace/NewYearGift$ git st 
# On branch master 
# 
# Initial commit 
# 
# Changes to be committed: 
# (use "git rm --cached <file>..." to unstage) 
# 
# new file: .classpath 
# new file: .project 
# new file: .settings/org.eclipse.core.resources.prefs 
# new file: .settings/org.eclipse.jdt.core.prefs 
# new file: .settings/org.eclipse.m2e.core.prefs 
# new file: README.md 
# new file: logs/new-year-gift.log 
# new file: output/GiftList_1387287018363.xml 
# new file: pom.xml 
# new file: src/main/java/com/epam/lab/controller/GiftController.java 
# new file: src/main/java/com/epam/lab/model/ItemGiftBuilder.java 
# new file: src/main/java/com/epam/lab/model/ItemGiftParser.java 
# new file: src/main/java/com/epam/lab/model/NewYearGift.java 
# new file: src/main/java/com/epam/lab/model/sweets/Caramel.java 
# new file: src/main/java/com/epam/lab/model/sweets/Chewy.java 
# new file: src/main/java/com/epam/lab/model/sweets/DarkChocolate.java 
# new file: src/main/java/com/epam/lab/model/sweets/DesertChocolate.java 
# new file: src/main/java/com/epam/lab/model/sweets/Generator.java 
# new file: src/main/java/com/epam/lab/model/sweets/Halva.java 
# new file: src/main/java/com/epam/lab/model/sweets/MilkChokolate.java 
# new file: src/main/java/com/epam/lab/model/sweets/PorousChocolate.java 
# new file: src/main/java/com/epam/lab/model/sweets/Sweets.java 
# new file: src/main/java/com/epam/lab/model/sweets/SweetsGenerator.java 
# new file: src/main/java/com/epam/lab/model/sweets/Waffles.java 
# new file: src/main/java/com/epam/lab/model/sweets/WhiteChocolate.java 
# new file: src/main/java/com/epam/lab/view/Application.java 
# new file: src/main/java/com/epam/lab/view/Main.java 
# new file: src/main/resources/log4j.properties 
# 
[email protected]:~/workspace/NewYearGift$ git add . 
[email protected]:~/workspace/NewYearGift$ git st 
# On branch master 
# 
# Initial commit 
# 
# Changes to be committed: 
# (use "git rm --cached <file>..." to unstage) 
# 
# new file: .classpath 
# new file: .project 
# new file: .settings/org.eclipse.core.resources.prefs 
// the same thing 

我无法弄清楚,为什么出现这种情况?

它应该添加所有更改,但它忽略所有...

任何建议吗?

回答

2

您的git add .按预期工作 - 它记录了您将兴趣文件添加到索引中的意图。但是,为了完成您的添加,您需要提交:使用命令git commit,这将创建提交对象,并且您将能够使用git push实际推送您的更改。

注意:您可能不想添加文件,如logs/new-year-gift.log.settings/org.eclipse.core.resources.prefs。我会建议使用git reset从列表中删除他们,就像这样:

git reset logs/ .settings/ 

,也许有这样的内容创建.gitignore

.settings/ 
*.log 
+0

for'.gitignore'它每次只创建文件并以新行写入? –

+0

您创建'.gitignore'一次(并提交它以获得更好的效果)。您可以继续添加您希望git在将来完全忽略它的文件掩码。 – mvp

0

实际上,你已经添加的文件。 Git有一个暂存区域(也称为“索引”)的概念,它是在提交之前放置文件的位置。因此,一个典型的工作流程是:在你的代码

  • 运行git add

    1. 工作将文件添加到索引。
    2. 运行git commit实际上将索引中的更改提交到存储库中。

    这对于您希望有选择地将事物逐件添加到您的提交时很有用。