2013-08-25 3 views
0

У меня есть репозиторий git на моем локальном компьютере со множеством ветвей длиной около 10. В корневом каталоге этого репозитория есть папка, которая в настоящее время не отслеживается ни в одной ветви. Я хочу начать отслеживать это. Если я сделаю 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 
Смежные вопросы