使用git在不同存储库管理服务(bitbucket,GitLab)中的项目之间切换

时间:2018-07-26 09:14:00

标签: git github bitbucket ssh-keys git-repo

我已经在GitLab上进行过一个项目,最近又在bitbucket上获得了另一个项目。

我已经了解,当我从事一个项目并且需要pushpulladdcommit等时,我需要确保自己已经在该项目的目录中,但是我还需要注意哪些其他因素?我想避免任何冲突或令人尴尬的情况,例如将代码提交到错误的项目,所以也许我需要在不同的存储库之间切换。

不久前,在我的.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 个答案:

答案 0 :(得分:1)

这里有很多问题,但我会按被问到的顺序尽可能地回答。

  1. http4k-core-您的所有提交都将在全局配置中指定作者详细信息(姓名和电子邮件地址)。如果可以接受,那就太好了;如果这可能会导致问题,则您可能需要在每个需要与全局配置不同的仓库中运行what other factors do I need to be aware of?git config user.name "Your Name for This Repo"
  2. git config user.email "foo@bar.baz"仅当您必须提供TLS密钥的密码时,才需要这样做。如果您不是在本地托管回购协议,则可能不需要它们。
  3. I'd like to add something similar in my .bash_profile again, but I'm not sure how correct these commands are.没关系,只要您拥有密钥即可,尽管每个远程主机都会将该密钥限制为一个用户帐户。 (换句话说,如果您在GitLab上有UserA,在Bitbucket上有UserB,那么您可以对两者使用相同的密钥-但如果在GitLab上同时有UserA和UserB,则它们将需要单独的密钥。)