GitHubおよびGitLabにアカウントを持っています。 RSAキーを生成してGitLabのアカウントに追加しましたが、2つ目のプロジェクトでGitHubを使用する必要があります。
GitLabとGitHubはどちらもgitを使用していることは知っています。 1台のマシンでGitHubとGitLabを使用できるかどうか教えてください。
はい、できます。両方で同じキーを共有するか(sshキー)、gitサーバーごとに新しいキーを作成できます。
複数のIDファイル(あなたの場合はgitlab用とgithub用)がある場合、SSH構成ファイルを作成してさまざまなIDを保存します。
この例で使用するエイリアスエントリの形式は次のとおりです。
Host alias HostName github.com IdentityFile ~/.ssh/identity
2つのID(workidとpersonalid)の構成ファイルを作成するには、次のようにします。
Open a terminal window.
Edit the ~/.ssh/config file.
設定ファイルがない場合は、作成してください。
たとえば、IDの組み合わせごとにエイリアスを追加します。
Host github
HostName github.com
IdentityFile ~/.ssh/github
Host gitlab
HostName gilab.com
IdentityFile ~/.ssh/gitlab
このようにして、異なるsshキーが接続されたアカウントをいくつでも持つことができます。
そのとおり!トランスポートとしてssh
を使用しているので、半分の作業を完了しました。
GitHubとGitlabはどちらもリモート(中央)リポジトリです。すべては、コミットのプッシュに使用しているremote
に依存します。
GitHubでプロジェクトを作成し、それを複製した場合、リモート(デフォルトではOrigin
)がGitHubリンクを指していることがわかります。実行$ git remote -v
検査するプロジェクトディレクトリ内。
同じプロジェクトをGitLabにプッシュしたい場合は、別のremote
を別の名前で追加するだけです。
$ git remote add <different-remote-name> <gitlab-remote-link>
特定のリモコンを更新したいときはいつでも、プッシュしてください。
2つの異なる方法を使用するには、両方のGitサーバー(Bitbucket、Gitlab、またはGithub)にSSHキーを追加し、資格情報を使用してgitを構成する必要があります。両方のアカウントが同じメールアドレスを使用している場合、使用できます:
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
アカウントで異なるメールを使用する場合は、各リポジトリをローカル設定でセットアップファイルする必要があります
git config --local user.name "Your Name"
git config --local user.email "[email protected]"
ローカル構成はグローバル構成を上書きします。そのため、最もよく使用されるアカウントのグローバル構成を使用できます。