Это невозможно. Git не устанавливает права владения или прав доступа к отслеживаемым файлам, поэтому любой пользователь, который может прочитать репо, может прочитать любой файл в этом репо (в любой ветке). Кроме того, указанные вами права доступа к филиалам относятся только к самому Bitbucket, а не к локальным клонам, поэтому даже если Bitbucket каким-то образом позволил вам ограничить чтение в определенной ветви, пользователь может просто клонировать репо и читать все запрещенные объекты локально. (И поскольку это невозможно в Git, это также невозможно на хостах, отличных от Bitbucket.)
Это также ужасная идея хранить пароли и ключи API в репозиториях именно по этой причине - даже если у вас все жестко контролируется в Bitbucket (и др.), Вам все равно придется иметь дело с последствиями для безопасности из всех локальных систем. (Они не отставали от обновлений ОС? Используют ли они надежные пароли для входа в свои материалы? Что вы делаете, если их компьютер украден? И т. Д.)
Если есть что-то, чем вы действительно должны поделиться с этим пользователем, тогда вы можете использовать приватный форк, который не содержит конфиденциальных деталей. Однако в противном случае вам будет лучше пересмотреть структуру своих репозиториев.