Git终端输出

时间:2011-03-31 21:13:36

标签: git

我在git repo中添加了一些文件。然后我添加了一个目录并将它们移动到那里。然后我使用git add

添加了目录

这是什么意思告诉我?

On branch master

Changes to be committed:
(use "git reset HEAD <file>..." to unstage)

new file:   newDir/TMXParser.c
new file:   newDir/Tilemap.c
new file:   newDir/test.xml
new file:   newDir/tileImage2.png
new file:   TMXParser.c
new file:   Tilemap.c
new file:   test.xml
new file:   tileImage2.png

Changed but not updated:
 (use "git add/rm <file>..." to update what will be committed)
 (use "git checkout -- <file>..." to discard changes in working directory)

deleted:    TMXParser.c
deleted:    Tilemap.c
deleted:    test.xml
deleted:    tileImage2.png

Untracked files:
(use "git add <file>..." to include in what will be committed)

.DS_Store

如果我提交,文件是否会被添加两次?如何从终端删除此.DS_Store?

3 个答案:

答案 0 :(得分:5)

正确的方法是使用git mv将文件移动到目录中;就目前而言,你可以简单地git rm。你告诉git你希望文件复制到子目录中。在git rm之后,git status的输出会告诉您git想要文件移动到子目录中。

快捷方式是git add -u,它会通知git已修改或删除的文件。但它不会添加新文件。如果重命名文件,通知git的最简单方法是git add -A,它会查看已修改,已删除和未跟踪的文件。它将删除您删除的四个文件并添加.DS_Store文件。

隐藏.DS_Store文件的最佳方法是全局忽略它:

git config --global core.excludesfile '~/.gitignore'
echo .DS_Store >> ~/.gitignore

答案 1 :(得分:0)

文件正在添加一次。在newDir文件夹中。什么被删除了它的git对根目录中的文件的引用。

要删除.DS_Store,请创建一个名为.gitignore的文件,并在其中添加一行“.DS_Store”(不带引号)。

可能你想'git add'。并且只会添加所有文件更改,然后'git commit -m“我的消息”'

答案 2 :(得分:0)

此输出告诉您下一次执行git commit时会有一堆新文件,其中一些在newDir中,还有一些在您的顶层目录中。

然后,根目录中有一些文件已被删除。您可以git add -u然后git commit提交更改。

如果您只是移动了这些文件而没有修改它们,那么您可以执行这两个步骤,git会自行弄清楚这些文件已被移动。

你有一个git对.DS_Store一无所知的文件(你应该把它添加到.gitignore中。