1

是的,我知道我想要的(git cp ab)大约等于

cp -R a b
git add b

但是,这会添加不在存储库中的文件。我得到的最接近的是

cd a
git ls-files > ../files.txt
cd ../b
cat ../files.txt | xargs git add

几乎可以工作,但是名称中带有空格的文件存在问题。我正在使用 Cygwin 来获得它的价值

4

2 回答 2

2

您需要使用文件名中不能出现的字符(即空字符)来分隔文件列表。尝试:

(cd a && git ls-files -z) | (cd b && xargs -0 git add)
于 2011-03-11T20:33:14.327 回答
0

0结合我的尝试和@Philipp的回答

cp -R a b
cd a
git ls-files -z > ../files.txt
cd ../b
cat ../files.txt | xargs -0 git add
于 2011-03-11T20:39:49.360 回答