gitはコンテナ外で使うの?
コンテナ内で使うの?
コンテナ内で良さそうです。(→sshで秘密鍵を使うと、コンテナ内からは見えなくてはまりました。)
gitの参考
https://qiita.com/Kenta-Okuda/items/c3dcd60a80a82147e1bf#3-%E5%88%9D%E6%9C%9F%E8%A8%AD%E5%AE%9A
https://qiita.com/shizuma/items/2b2f873a0034839e47ce
インストール後のユーザー登録(githubのどこにpushするのか設定)
を参考にgithubのユーザー名とメアドを登録する。
コンテナに入る前の端末で操作。
git config --global user.name "名前"
git config --global user.email "メアド"
git config -l で設定情報の表示
user.name=
user.email=
が表示されることを確認する。
コンテナ内でも
このあと、vscodeでコンテナ内の端末から
git config -l で確認。
ユーザー名等表示されることを確認。表示されなければ
コンテナをリビルドすると設定が反映されていた。
Dockerfileやdocker-compose.ymlにgitの記述をしていないので、vscodeかvscodeの拡張がいい具合に情報を渡していると思う。
コンテナ内で、gitの拡張を利用するならdevcontainer.jsonに記述する。
"extensions": ["ms-python.python","mhutchie.git-graph"]
コンテナ内で流用される、元環境
コンテナをビルドした際に、元環境の ~.gitconfigがコンテナの同位置にコピーされる。
~/.ssh フォルダは秘密鍵はコピーされずにknown_hostsだけがコピーされている。このため、sshアクセスは失敗する。httpsアクセスする必要がある。
コンテナ内でのフォルダの移動もVScodeのファイル->フォルダを開くから可能。
更新を無視するファイル
.gitignore というテキストファイルに*.jpgなど(複数時一行ごと)記載すれば、変更が無視され、アップロードも行われない。
テキストファイルの文字コード
秀丸で作ったテキストファイルをpushしてgithubのHPで確認したら、文字化けしていた。UTF-8で保存することで文字化け解消。
認証情報
httpアクセスの場合、
パスワードの代わりのトークンをgithubのサイトで作成
さらに、以下を参考に.netrcを作成すれば毎回ユーザーIDとパスワードを聞かれなくてすむ。
machine github.com
login username
password this_is_pass
machineって、何かと思ったけど、「リモートマシンの名前」らしい。
https://linuxjm.osdn.jp/html/netkit/man5/netrc.5.html
ちなみに.netrcには自動ログインの情報を記述できるようで、W&B(wandb)などのログイン情報を記述することもできる。