2013-08-25 73 views
0

我在本地计算机上有许多约10个分支的git存储库。在此存储库的根目录中有一个目前未在任何分支中进行跟踪的文件夹。我想现在开始跟踪这个。如果我做git add foldername/*,然后git commit它将只将文件夹添加到当前分支。我可以使用git命令以便将文件夹添加到所有分支,而无需手动检出每个分支并将该文件夹添加到该分支?如果它是相关的,我想说明有几个文件(与上述文件夹无关)在每个分支中都不相同,我想保留它。也就是说,您建议的命令应该保持其他文件不变。Git将一个文件夹添加到存储库中的所有分支

在此先感谢您的帮助。

回答

1

分支被分开处理,直到合并为止。但是,如果你真的不想做手工,你可以使用下面的脚本的一些细化:

$ git checkout master 
$ git add foldername 
$ git commit -am "Adding foldername" 
$ for i in `git branch`; do git checkout $i && git cherry-pick master; done 
2

有没有简单的方法来做到这一点。实现它的唯一方法是将文件夹分别添加到10个分支中的每个分支,或者将其添加到一个文件夹,并将该提交单独合并到其他分支中。

1

复位,而不是结帐时会做的正是你想要的东西,零个检出,没有触及在worktree

# from a worktree with nothing staged 
for b in `git branch|sed s/.//`; do 
    git reset $b 
    git add folder 
    git commit -m'add folder' 
done 
git reset where_you_were_before 
相关问题