有时候我喜欢在OS X Finder中移动大量文件,删除一些,添加一些,修改一些 - 超过30个更改。我需要通过和“git rm”去掉每个文件,然后将每个文件移动到“git mv”之后当我不确定是否“rm'd”或“mv'd”,我没有得到Bash完成,因为文件已经没有了。告诉Git:我喜欢这个
当我完成了这个,我想能够对Git说:我喜欢这样,让我们承诺所有这些变化。
有没有办法做到这一点?
有时候我喜欢在OS X Finder中移动大量文件,删除一些,添加一些,修改一些 - 超过30个更改。我需要通过和“git rm”去掉每个文件,然后将每个文件移动到“git mv”之后当我不确定是否“rm'd”或“mv'd”,我没有得到Bash完成,因为文件已经没有了。告诉Git:我喜欢这个
当我完成了这个,我想能够对Git说:我喜欢这样,让我们承诺所有这些变化。
有没有办法做到这一点?
使用git add -A
添加更改,然后git commit
提交它。
与git commit -a
相比,这将真正采用工作树。它将处理新的,移动和重命名的文件,而git commit -a
不会。 git commit -a
忽略新文件并将移动和重命名的文件视为删除文件(因为新位置中的文件被视为新文件,这些文件被忽略)。
我认为你可以做
git add .
要添加的所有新文件(即使已经被移动的那些)。并且
git add -u .
对于那些已被删除(或移动)的。
Git会自行找出那些被移动的。我会很惊讶,没有办法将它组合成一个单一的命令,但这就是我通常所做的...
你的意思是'git commit -a'? – KingCrunch 2011-03-23 00:31:03
是的!我不敢相信我没有想到看到提交的manpage(我认为这是在提交之前需要采取的行动)。发布它作为答案,我会给你点。 – terrace 2011-03-23 00:34:12