Переключение между проектами в разных сервисах управления репозиторием (bitbucket, GitLab) с использованием git

У меня уже есть проект на GitLab над которым я работаю, и недавно мне был назначен еще один проект bitbucket,

Я уже понимаю, что когда я работаю над проектом, и мне нужно push, pull, add, commit и т.д. тогда я должен убедиться, что я уже в каталоге этого проекта, но о каких других факторах мне нужно знать? Я хотел бы избежать любых конфликтов или смущающих ситуаций, таких как фиксация кода в неправильном проекте, поэтому, возможно, мне нужно переключаться между различными репозиториями.

Некоторое время назад бывший коллега настроил в моем .bash_profile файл. Приведенные ниже команды были для проекта, над которым я больше не работаю, поэтому я больше этим не пользуюсь, но он все еще есть в моем .bash_profile файл:

set_companyX_git(){
  git config --global http.sslcertpasswordprotected true
  git config --global http.sslCert /Users/my_mbp/Software/ssl_project/keystore.p12
}

unset_companyX_git(){
  git config --unset --global http.sslcertpasswordprotected
  git config --unset --global http.sslCert
}

Я хотел бы добавить что-то подобное в моем .bash_profile еще раз, но я не уверен, насколько правильны эти команды. Надеюсь, профессионал git сможет поставить меня на правильный путь.

Из-за моего существующего проекта на Gitlab у меня уже есть ключ ssh, но должен ли он быть индивидуальным для каждого репо или для каждой службы управления репозиторием, или это не имеет значения, пока у меня есть ключ?

1 ответ

Решение

Здесь куча вопросов, но я отвечу на них как можно лучше в том порядке, в котором они были заданы.

  1. what other factors do I need to be aware of? - Все ваши коммиты будут содержать данные об авторе (имя и адрес электронной почты), указанные в вашей глобальной конфигурации. Если это приемлемо, то отлично; если это может вызвать проблемы, то вам может потребоваться запустить git config user.name "Your Name for This Repo" а также git config user.email "foo@bar.baz" в каждом репо это должно отличаться от глобального конфига.
  2. I'd like to add something similar in my .bash_profile again, but I'm not sure how correct these commands are. Это должно быть необходимо, только если вы должны предоставить пароль для ключа TLS. Если вы не размещаете репо локально, то, вероятно, они вам не нужны.
  3. must this key be individual to every repo, or to every Repository Management Services, or does it not matter so long as I have a key? Это не имеет значения, пока у вас есть ключ, хотя каждый удаленный хост будет ограничивать этот ключ одной учетной записью пользователя. (Другими словами, если у вас есть UserA на GitLab и UserB на Bitbucket, то вы можете использовать один и тот же ключ для обоих - но если у вас есть и UserA, и UserB на GitLab, им потребуются отдельные ключи.)
Другие вопросы по тегам