2011-03-23 79 views
1

有时候我喜欢在OS X Finder中移动大量文件,删除一些,添加一些,修改一些 - 超过30个更改。我需要通过和“git rm”去掉每个文件,然后将每个文件移动到“git mv”之后当我不确定是否“rm'd”或“mv'd”,我没有得到Bash完成,因为文件已经没有了。告诉Git:我喜欢这个

当我完成了这个,我想能够对Git说:我喜欢这样,让我们​​承诺所有这些变化。

有没有办法做到这一点?

+4

你的意思是'git commit -a'? – KingCrunch 2011-03-23 00:31:03

+0

是的!我不敢相信我没有想到看到提交的manpage(我认为这是在提交之前需要采取的行动)。发布它作为答案,我会给你点。 – terrace 2011-03-23 00:34:12

回答

7

使用git add -A添加更改,然后git commit提交它。

git commit -a相比,这将真正采用工作树。它将处理新的,移动和重命名的文件,而git commit -a不会。 git commit -a忽略新文件并将移动和重命名的文件视为删除文件(因为新位置中的文件被视为新文件,这些文件被忽略)。

1

我认为你可以做

git add . 

要添加的所有新文件(即使已经被移动的那些)。并且

git add -u . 

对于那些已被删除(或移动)的。

Git会自行找出那些被移动的。我会很惊讶,没有办法将它组合成一个单一的命令,但这就是我通常所做的...