0

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

在此先感谢您的帮助。

4

3 回答 3

2

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

于 2013-08-25T20:16:30.637 回答
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
于 2013-08-25T20:43:48.257 回答
1

重置而不是结帐将完全按照您的意愿进行,零结帐,工作树中没有任何内容

# 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
于 2013-08-26T01:53:04.303 回答