見出し画像

ChatGPTにGithubコミット時の注意点を聞いてみた

今回は、ChatGPTにGithubにコミット時の注意点を聞いてみようと思います!

ChatGPTの回答に不明点があれば、再度ChatGPTに聞いてみる

知りたいことや、調べ物がある場合は、まずはフラットにChatGPTに聞いてみて、その回答内容で不明点があれば、再度ChatGPTに聞いてみて不明点を解消するようにしています。

それでもChatGPTの文章ベースの説明でわかりにくい場合は、ネットで調べるようにしています。また図での説明であったほうがわかりやすそうと思った場合も、ネットで調べるようにしていますが、うまく使い分けることによってかなり効率よく調べることができるようになったと思います!

1.Githubでのコミット時の注意点について

それでは早速聞いてみましょう!

1-1.プロンプト

Djangoプロジェクトを、Githubにコミットしたいのですが、注意点はありますか

1-2.ChatGPTの回答

DjangoプロジェクトをGitHubにコミットする際の注意点がいくつかあります。以下にいくつか挙げてみますね。

1. settings.pyやその他の敏感な情報を公開しないsettings.pyにはデータベースの接続情報やAPIキーなど、プロジェクトのセキュリティに関わる重要な情報が含まれています。
これらは.gitignoreファイルに追加し、公開しないようにします。

例:

# .gitignore
# Django
*.pyc
*.pyo
*.pyd
__pycache__/
*.sqlite3
*.pyc
*.pyo
*.pyd
*.db
*.bak
*.sql

2. SECRET_KEYを隠すsettings.py内のSECRET_KEYはプロジェクトのセキュリティに関わる重要な値です。GitHubなどにコミットする際は、外部に公開しないようにします。
settings.pyからSECRET_KEYを取り除き、別の方法で管理することを検討します。

3. 仮想環境や依存関係を追加しない仮想環境や依存関係(venvpipenvなど)は、プロジェクトごとに異なる場合があります。これらはプロジェクト自体に含めず、requirements.txtPipfileといったファイルに依存関係を記録してコミットします。

4. .gitignoreファイルの適切な設定.gitignoreファイルは、不要なファイルやディレクトリをGitリポジトリに追加しないように指定します。
Djangoプロジェクトにはデータベースファイルや一時ファイルなどが含まれるため、これらを無視するように設定します。

5. README.mdを追加するプロジェクトの概要や使い方、ライセンス情報などを記述したREADME.mdファイルを追加すると、他の人がプロジェクトを理解しやすくなります。
GitHubでは、リポジトリのトップレベルにREADME.mdファイルがあると、自動的に表示されます。

6. 分かりやすいコミットメッセージを使用するコミットメッセージは他の開発者が理解しやすいように明確で分かりやすいものを使います。
コミットメッセージには、何を変更したのかを簡潔に記述することが大切です。

例:

git commit -m "Add user authentication feature"

これらのポイントを考慮して、DjangoプロジェクトをGitHubにコミットすると良いでしょう。

2.ChatGPTの回答で上手くいかない場合はネットで調べよう

その後、settings.pyの内容をenvファイルに保持する方法などを聞いたりしました。pipインストールや、settings.pyについてのやりとりが長くなってしまったため、ここのプロンプトについては割愛します。

settings.pyの設定内容はChatGPTの回答通りに実施したところ、上手くいかなかったので、そのあたりはネットで調べ解消しました、、
上手くいかないことも多々あるので、良きタイミングで見切りをつけて、ネットで調べる方向にシフトすることもポイントですね。

3.gitignoreファイルに設定内容について

最後に.gitignoreファイルに設定内容について、聞いてみようと思います。

3-1.プロンプト

Djangoプロジェクトをコミットする際に、.gitignoreファイルに設定する項目を教えてください

3-2.ChatGPTの回答

Djangoプロジェクトをコミットする際に、.gitignoreファイルに設定する一般的な項目を以下に示します。これらは一般的なDjangoプロジェクトで生成される一時ファイルや設定ファイル、仮想環境、データベースなどであり、バージョン管理システムに含める必要がないものです。

Pythonのバイトコンパイルファイルやキャッシュファイル:

*.pyc
__pycache__/
*.pyo
*.pyd

仮想環境関連のフォルダやファイル:

venv/
env/
.venv/
.env/

ローカルデータベースファイル:

*.sqlite3
*.db

IDEやエディターの設定ファイル:

.vscode/
.idea/
*.sublime-project
*.sublime-workspace

ローカルの秘密情報や設定ファイル:

.env
.envrc

一時ファイルやログファイル:

*.log
*.bak

メディアファイルやアップロードされたファイル:

media/
uploads/

テストやテスト結果の一時ファイル:

.pytest_cache/
coverage/

これらの項目は、プロジェクトのソースコード以外の一時的なファイルや設定ファイル、ローカルの環境依存ファイルなどを除外するために役立ちます。.gitignoreファイルにこれらを追加することで、不必要なファイルがリポジトリに含まれないようにします。ただし、プロジェクトやチームの要件に応じて、必要な項目を追加または変更してください。

おわりに

最後まで読んで頂き、ありがとうございます!

ちょっと気になったことがあった時に、隣の席に座っている人に声をかける感じでChatGPTに気軽に聞けるのが良いですね!

今後もChatGPTの使用方法を模索したり、活用法を深掘って行こうと思います!

おまけ

最近、ChatGPTを使用し、色々なことを模索しています。
もしよければ、以下の記事も見て頂けると嬉しいです!


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

AIとやってみた

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