見出し画像

【C級botter道】3話:Gitでコードのバージョン管理(python+docker+jupyterlab)

前回まではDocker + Docker-compose + jupyterlabでローカルでの開発環境を構築しました。
次はGitをインストールし、コードのバージョン管理をできるようにします。

Gitとは?

簡単にいうとコードのバージョン管理ができるツールです。
botを作っていると、「あれ、、、1週間前に作ったやつの方が精度良くね?」「色々改造しすぎてスパゲティコードなってきた」ということが往々にしてあると思います。
こういった問題を解決できる?のがGitだと私は思っています。
↓下記の記事がよくまとまっていました。

Gitのインストール

では、さっそくgitをインストールしましょう。
インストール先の環境としてはもちろんDockerコンテナ(mamuru_bot)です。

ですが、実はすでにGitはインストール済みです。
下記Dockerfileの6行目に"git"が書いてあります。
このDockerfileを実行した際に自動的にgitもインストールされていたということです。

FROM python:3.10.13
RUN apt-get update && \       
    apt-get install -y \      
    build-essential \
    cmake \
    git \
    sudo \
    wget \
    vim
RUN pip install --upgrade pip                
COPY ./requirements.txt /requirements.txt    
RUN pip install -r /requirements.txt

# jupyter labインストール 
RUN python -m pip install jupyterlab        
WORKDIR /work

jupyter labでgitの確認

いや、ほんまかいな?ってツッコミはあると思いますので、jupyter-lab上で確認してみます。
jupyter-lab内でterminalを立ち上げて、下記コマンドを入力。

git --version

git version 2.39.2がインストールされていることが確認できます。

Gitの動作確認

無事にインストールされていることが確認できましたので、次にgitの動作確認を行っていきます。
下記のサイトを参考に初期設定、ローカルリポジトリの作成、コミットまでを行っていきます。

Gitの初期設定

初期設定として、ユーザー名&メールアドレスの2つを登録します。

ユーザー名の登録

git config --global user.name 任意のユーザー名

メールアドレスの登録

git config --global user.email 任意のメールアドレス

登録状況の確認

git config --list
(中略)
user.name=登録したユーザー名
user.email=登録したメールアドレス

ローカルリポジトリの作成

次にローカルリポジトリを作成します。
いわゆる、データ(コード)の保存場所のことです。

任意のディレクトリで下記コマンドを実行

git init
実行結果

何が起きたかよくわからないと思いますので、ディレクトリ内を確認してみます。

ls -a

.git というディレクトリが作成されているのがわかるかと思います。
.gitというのはGitによるバージョン管理のための全てのメタデータとオブジェクトデータを含んでいます。
.git ディレクトリは、Gitリポジトリの状態や履歴を管理するために重要で、このディレクトリの内容を変更すると、リポジトリの整合性や履歴に影響を与える可能性があります。通常はユーザーが直接編集することは推奨されていません。

長々と書きましたが、普段特に気にする必要はありません。というか無駄に触ったりしないようにしましょう。

コミット

次にコミットをしてみましょう。
コミットすることにより、任意のファイル等をバージョン管理することができます。
また、今回は作業ディレクトリ配下の全てをコミットさせます。

git addコマンド

git add .

これにより作業ディレクトリ配下の全てがステージングに乗せることができました。
一応git statusで状況を確認しておきましょう。

git status
git addとgit statusの結果

new file〜〜がステージングに乗っていることが確認できます。

次にコミットしましょう

git commit -m "first commit"
git commit の結果

これまたよくわからないと思いますので、logを確認しましょう

git log
git log の結果

無事にコミットできていることが確認できるかと思います。

まとめ

  • Dockerfileに記載しているgitのインストールがされていることを確認した。

  • git初期設定〜ローカルリポジトリ〜コミットまでの動作確認を行った。

  • 次回はGithubとの連携を行っていこうと思います。

この記事が参加している募集

仕事について話そう

この記事が気に入ったらサポートをしてみませんか?