- 仕事用と個人用(ブログにSnippets貼る用)にgithubを使い分けたい
- githubは複垢禁止(ソース:https://help.github.com/en/github/site-policy/github-terms-of-service)
- github->仕事用、gitlab->個人用にする
昔からよく言われている「githubはプライベートレポジトリが使えないからgitlabや!」っていうのとは違います。
今はgithubでもプライベートレポジトリ作れるのでこれが動機にはならないです。
個人的にはgithub/gitlabの併用がベストプラクティスなのですが、ひとつだけ注意点があります。
githubとgitlabでユーザー名が違う
githubを使い分けたいってことは、ユーザー名を別のものにしたいということです。
なのでgithub/gitlabを併用するにしても、ユーザー名が同じだとあまり意味がないです。
ただひとつ問題があって、それはgitコマンドのconfigファイルで設定しているグローバルのユーザー名です。
githubのユーザー名をA、gitlabのユーザー名をB、グローバルユーザー名をAとします。
このとき、ローカルマシンでそのままコミットすると、githubレポジトリ、gitlabレポジトリのコミットログは、どっちもユーザー名がAになっていまいます。
このとき、ローカルマシンでそのままコミットすると、githubレポジトリ、gitlabレポジトリのコミットログは、どっちもユーザー名がAになっていまいます。
これはgitコマンドの仕様で、シェルスクリプトで皆様色々工夫されていますが、基本的にグローバルユーザーを毎度切り替えるだったり、gitレポジトリごとに個別にユーザーを設定する処理をされています。
でもそれすらめんどくさいですよね。
これには最強のソリューションがあります。
ただし、私のようにGitlabをSnippet公開(&レポジトリは個人開発のみでプライベート設定)に使っている人向きです。
それは
放置
よーく考えたら、自分のgitlabのレポジトリは個人開発・プライベートなので、コミットログのユーザー名がAだろうがBだろうがどっちでも良くないですか?
もしgitlabでもレポジトリを公開している場合は、コミットログを見られるとgithubの仕事用ユーザー名(=A)が見えてしまいますが、そもそもそこまで見る人もいないでしょう。
Gitlabのスニペットはウェブ画面からコピペで作るので(ここはここでスマートじゃないんですが)、gitコマンドのユーザー名は関係ありません。
ただし逆はまずいでしょう。
gitコマンドのグローバルユーザー名がBになってる場合です。
仕事のレポジトリのコミットログに、知らないユーザー名Bを混入させることになります。
異物混入なので、グローバルのユーザー名は仕事用gitのユーザー名Aにしておくべきでしょう。
もしgitlabでもレポジトリを公開している場合は、コミットログを見られるとgithubの仕事用ユーザー名(=A)が見えてしまいますが、そもそもそこまで見る人もいないでしょう。
Gitlabのスニペットはウェブ画面からコピペで作るので(ここはここでスマートじゃないんですが)、gitコマンドのユーザー名は関係ありません。
ただし逆はまずいでしょう。
gitコマンドのグローバルユーザー名がBになってる場合です。
仕事のレポジトリのコミットログに、知らないユーザー名Bを混入させることになります。
異物混入なので、グローバルのユーザー名は仕事用gitのユーザー名Aにしておくべきでしょう。
今日のベストプラクティス
ということで、ブログに載せてるソースコードをgistからGitlabスニペットに変えました。
数が少なくてよかった!
0 件のコメント:
コメントを投稿