チーム開発でコミットを公私混同しないための Git/GitHub 設定3選
最近PCを新しくしたので、チーム開発でGitを使う場合にやっておきたい設定をまとめました。
前提
GitHubはプライベートとチーム開発で同じアカウントを利用します。
一人で2つ以上のアカウントを持つことは利用規約違反だし、これから紹介する設定を利用すれば困ることは少ないはずです。
設定
[Git] コミット時のメールアドレスをチームのメールアドレスにする
リンク先で説明されているように、リポジトリごとにユーザー情報を設定することで可能です。
私はリポジトリ数が多くて面倒なのでシェルで一括設定しています。(macOSのfindで動くようになっています。Linux等の場合は自分で書き直してください)
/usr/bin/find ./*/.git/config | xargs -I {} git config -f {} user.email "$EMAIL"
[GitHub] チームのメールアドレスによるコミットを、GitHub上で自分のコミットとして表示する
Emails から Add email address を設定してください。
[GitHub] Organizationのリポジトリの通知はチームのメールアドレスで受け取る
Notification の Custom routing を設定することで可能です。
IntelliJでTool WindowのCommitウィンドウとGitウィンドウを統合する
統合方法
Commitウィンドウのどこかにある "Switch to commit dialog" というメニューを選択すると、Commitウィンドウがなくなります。
それまでCommitウィンドウにあった Local ChangesタブはGitウィンドウに移動し、GitウィンドウでLocal Changes, Log, Consoleのすべてを参照できるようになります。
この方法で2つのウィンドウを接続すると、たとえ Command + 0 (macOS標準のCommitウィンドウを開くショートカット) も効かなくなります。
解除方法
分かりません。
関係するか分かりませんが、私の環境だと Gitプロジェクトにも VCSウィンドウが出てきません。代わりにGitウィンドウが出ています。
まとめ
なんなんだろう?
Amplify Console 豆知識(Amplify Console 実践入門 第1.2版のアップデート)
(2版→1.2版に修正)
2020年9月に「Amplify Console 実践入門」という本を出品しました。
それ以降に業務でAmplify Consoleを使っていて得た知識をまとめました。いくつかは第2版にも記載しています。
ほお〜と思っていただければ幸いです。
ブランチの接続を解除するとWebサイトは403エラーになる
Amplifyアプリからブランチの接続を解除すると、ホスティングされているコンテンツが削除されます。結果、Webサイトが403 Errorになります。
とはいえ、ブランチ切断の確認画面だとそれって分からないんですよね。よく考えれば確かに予想できるんですが...
こちらはIssueにまとめているので、よければUp Voteをお願いします! github.com
DockerHubへのログインはできない。
以下のIssueで言及されている通り、DockerHubのRate Limitに引っかかってビルドができないことがあります。
そして2020-11-08現在、ログイン手段はありません。カスタムイメージを利用されている方は、こちらもIssueのUpVoteを是非お願いします。
CFn, CDKでは DependsOn を設定しよう
ブランチが存在しない状態で AWS::Amplify::Domain
が先に作成されようとした場合、 SubDomainSetting
に指定されているドメインが未接続のため CloudFormation/CDK のデプロイが失敗します。
DependsOn属性で明示的に指定してあげましょう。
GitHubのWebhookとIncoming Webhookは別物
形式がちょっと違うので、Incoming Webhookを再発行してもGitHub側に登録することはできません。
リポジトリの再接続でOK。
まとめ
以上、Amplify Consoleの豆知識でした。Issueに関しては今後のアップデートに期待ですね!
その他の豆知識も気になる方は、本をご覧いただければ幸いです。
IntelliJ (macOS) で Cmd + Shift + A を押すとたまに現れる黄色いプロンプトの正体は manページインデックスの検索だった
IntelliJでたまに黄色いプロンプトが出て困ることありませんか?
黄色いプロンプトは何なのか。どうして出てしまい、出さないためにはどうすればいいのか。調べました。
黄色いプロンプトは manページのインデックス検索
このプロンプトですが、すべてのmanページから指定したキーワードを検索した結果です。
Search the Manual Page Index
で検索すると言及しているブログが出てきます。
osxdaily.com
実はターミナルで文字列を選択したときのメニューにもあります。
Linuxだと apropos
コマンドが対応するようです。この apropos
コマンドは私の macOS 環境では普通に使えました。
気になる方はターミナルで apropos ${適当なキーワード}
で調べてみてください。
一部のエディタで文字列選択をしていると表示される。ショートカットをOFFにすればOK
IntelliJで文字列選択をしているときに Cmd + Shift + Aを押すと表示されます。
私が利用しているアプリで他に manページのインデックスの検索 をショートカットから起動できるのは、他に InkDrop と Postman でした。
逆に、同じエディタでも VSCode、DBeaverでは起動しませんでした。
対策は簡単で、ショートカットをOFFにすればOKです。
こんなところにあったんですね。気が付かなかった...
2023-04-19追記
macOS Venturaでの設定画面です。
まとめ
IntelliJでたまに現れる黄色いプロンプトは、文字列選択をしている際にmanページをインデックス検索した結果でした。
使わない場合はシステム環境設定からショートカットをOFFにしましょう。
Google Workspaceの共有ドライブでフォルダの共有ができるようになっていた
GSuitesのUpdateブログにあるように、2020年9月時点で共有ドライブのフォルダが共有ドライブに所属していないユーザーにも共有できるようになっていました! https://gsuiteupdates.googleblog.com/2020/09/share-folders-shared-drives-ga.html
仕様(2020年10月現在)
- 共有ドライブのメンバーのうち、
管理者(Manager)
権限を持つメンバーだけが共有ドライブ外のメンバーを追加できる。 - 共有ドライブ外のメンバーは ゲスト として扱われる。ゲストが持ちうる最大の権限は
コンテンツ管理者(Content Manager)
である。 - 上記から、ゲストはフォルダを共有できるようにならない(コンテンツ管理者では権限が足りないため)
- 共有したフォルダは、ゲストの
Shared With Me
に表示される。
データ基盤を立ち上げるので データマネジメントが30分でわかる本 を読んだ #DMBOK30min
Twitterで Sum (@nepinepimate3) | Twitter さんに勧めてもらったのと、社内でデータ基盤を立ち上げようとして悩みが多かったので読みました。
SREらしく(?) システム構築のことばかり心配していましたが、データ分析基盤はもっと多くの人と関わる仕事だと気づかされました。
ちなみに同人誌としても特筆すべきポイントが多々あるのですが割愛(宣伝手法・表紙デザイン・協賛・ターゲティング...)
感想サマリー
データマネジメントが30分でわかる本、そもそもの知識不足に気付かされたことと、アクション取るにあたって想定の甘さ(GAと購買履歴ひとまとめにしないと分析困る、規模が大きくなるとデータモデルから逃げられなさそう、PR Timesを賑やかすための分析...etc)に気づけてよかった。
— さわら (@hiroga_cc) 2020年10月10日
デブサミ資料も。
特に勘違いしていたこと・知らなかったこと
データウェアハウスに関する知識について、アプリケーションのためのデータの話と勘違いしていたことに気づけた。
特にスタースキーマ、データモデルなど。
CIF(コーポレートインフォメーションファクトリー)についても初めて知った、DWH, Data Mart... と分けるやつ。アレ名前知りたかったんだ。本書ではサラッと触れてた、別途以下のブログが参考になりそう。
gotouma.hatenablog.com
アクションが間違ってたこと・想定が甘かったこと
具体的な話はむしろ著者のデブサミ資料に詳しい。
speakerdeck.com
- 広告と購買データを結びつけて分析したいのはそうだと思う、ビジネス側が満足な分析をできていない可能性もっと知りたい
- 問い合わせの分析はたしかにアプリケーションDBの中身と組み合わせて分析したいだろうと思う
- 必要なデータモデルごとにチケットが切られる未来を知れてよかった(著者の会社はそうっぽい)
しっくり来てないこと...
- データ分析基盤になんでも入れるのか?会社KPIや開発チケットに関するメトリクスなどは違和感あるが、やれば慣れる/便利?
- 社内のドキュメント管理についても触れているが、これは情シスの守備範囲のような気も?
- DWH時点で個人情報をすべて削ぎ落とすのは攻めてる印象、DM送ったり代理店に情報連携したりで必要にならないか
- 個人情報のクレンジングについてもっと知りたい。半匿名化(社内で紐付けはできるが、外部に流出しても分からない)のような考えとかないのか
まとめ
偶然知った本だがこのタイミングで読めて本当に良かった、具体的なデータ活用のユースケースについては(この方だけでは限界があると思うので、色んな人から)もっと知りたい。私の所属している会社も未活用のデータがあるはずだ。
brew cask 夏の小掃除
Macが散らかってきたので、過去にbrew cask install した、今では使っていないアプリケーションを掃除しました。
brew cask list でインストールしているアプリがわかります。
掃除したもの
brew uninstall airdroid
airdroid はMacとAndroidとiPhoneのプラットフォーム間でBluetoothを使ったファイル転送ができるアプリ。
しかし、Androidエンジニアの皆さんは開発者モードを使ってファイルを転送していると知ったので、インストールしておくモチベーションがなくなってしまった。
brew cask uninstall flotato
Webサイトをアプリ化できる。
私の場合、ブラウザにピン留めすれば事足りることに気づいた。
brew cask uninstall sourcetree
forkのほうが好き。
brew cask uninstall kitematic
docker本体のDashboard、IntelliJの拡張、VSCodeの拡張、lazydocker、と代わりの選択肢が無数にある。
brew cask uninstall robo-3t
mongodb-compass で事足りている。
brew cask uninstall soundflower
ゲーム画面・音声を友達と共有して遊びたかったので試してみた、気がする。
brew cask uninstall tandem
結局会社で採用されることのなかったビデオ通話アプリ。
brew cask uninstall webcamoid
とりあえず入れて、使わなかった。
brew cask uninstall zoom
みなさんが使っているのは brew cask install zoomus です。