10
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

みなさん、DevContainerは使っていますか?最近個人開発の中でDevContainerを触ってみたところ便利な機能や設定をいくつか発見しましたので、備忘録がてら共有したいと思います。

Dev > Containers: Copy Git Configは必ずONに!

この設定にチェックを入れることで、ローカルのgitの設定(git config --global で設定しているもの)がDevContainer上でも引き継がれます。GPGキーも引き継がれるのでとても便利!1
DevContainerの設定はコマンドパレットを開いてDev Containers: Settings for Dev Containers から確認できますよ!

ghを使えると便利!

devContainerを0から作成する画面のSelect additional features to install からGitHub CLIが選べるのですが、これがとても便利!大きなできることを挙げると

  • PRの作成・確認(途中までCLIで作って続きはブラウザから!も可能)
  • Issuの一覧確認
  • Gistの作成
  • GPG・SSH Keyの設定

ghの設定方法

ghはGithubCLIをインストールするのみですと、GHの環境変数がローカルから引き継がれず新しい環境を作るたびにGHの設定が必要になります。以下は環境変数をローカルから引き継ぐ時に私が行った方法です。[HOST]はMac側での操作が必須の作業となります。

  1. [HOST] cat ~/config/gh/hosts.yaml 等のコマンドでGHの設定を確認する。
  2. [HOST] シェルの.シェル名rcに下記を追記する
    export GITHUB_TOKEN="[1.で確認したoauth_tokenのValue]"
    export GITHUB_USER="[1. で確認したuserのValue]"
    
  3. シェルを再起動し、code (DevContainerしたいDir) し、Rebuild Containerを行う。

ターミナルでgit commitで開かれるエディターがデフォルトVSCodeになった!

何も設定せずに、ターミナルでgit commit と打つとエディターに移ると思うのですが今まではデフォルトがnanoでExitのキーバインドがVSCodeのキーバインドと被っておりCommitしずらいという問題がありました。
しかし、デフォルトがVSCodeになったことで可読性や描きやすさが大幅に向上しました!
DevContainer上では確認していますが、ローカルのターミナルは未検証ですが、検証する際は git config --global core.editor vim 等にしてからがおすすめです。

git push時に fatal: detected dubious ownership in repository at '/workspaces/プロジェクト名 ...というエラーが出る時の対処方法

自分の場合は、プロジェクトのルートディレクトリーのownerだけがrootになっており、これを修正する必要がありました。 そのときは、chown [各ファイルの所有者の名前] .というコマンドを打つことによって権限周りを正常に戻し、Pushが可能になります。


参考資料
https://github.com/devcontainers/features/tree/main/src/github-cli
https://webkaru.net/linux/chown-command/

  1. GPGの設定方法についての記事も書いてます…!

10
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?