Gitの初期化方法:Gitリポジトリの初期化と設定方法

ファイルを間違って削除したことがありますか?または、コードを上書きして戻す方法がない場合がありますか?バージョン管理がないと、そのようなエラーは致命的なものになります。そこでgit initが役立ちます—プロジェクトフォルダをGitリポジトリに変換し、すべての変更が追跡可能で回復可能になります。

このチュートリアルでは、Gitのセットアップ方法、私の経験から得た個人的なヒント、そして最初から頑丈なワークフローの作成方法を紹介します。

Git Initとは何ですか?

git initコマンドは、バージョン管理の旅をスタートさせます。実行すると、Gitはプロジェクトディレクトリ内に隠し.gitフォルダを作成し、構成データ、コミット履歴、および変更を追跡するために必要なすべてのメタデータを保存します。

すべての変更が記録されるたびに、ブランチを作成し、マージし、自信を持って共同作業ができます—プロジェクトの完全な履歴が常にコマンド一つで手に入ることを知っています。

著者による画像

Git Initの使い方

高度なトピックに入る前に、実践でgit initをどのように使用するかを理解することが重要です。

git initの基本的な使用方法

以下の手順に従って、ゼロから新しいGitリポジトリを作成します:

  • ターミナルを開く:お好みのコマンドラインインターフェースを起動します。
  • プロジェクトディレクトリに移動します:
cd /path/to/your/project

これにより、現在のフォルダが追跡したいフォルダに変更されます。

  • リポジトリを初期化します:
git init

このコマンドを実行すると、隠し.gitフォルダが作成されます。 そのフォルダには、Gitのすべてのトラッキング情報が格納されます。

  • リポジトリの状態を確認します:
git status

この段階では、Gitが設定されていますが、ファイルは追跡されていません。

既存のプロジェクトでリポジトリを初期化

バージョン管理されていないプロジェクトに対して、以下の方法でGitを初期化して変更を追跡できます:

  • プロジェクトディレクトリに移動します:
cd /path/to/your/project
  • プロジェクトをGitリポジトリに変換します:
git init

前述の通り、上記のコマンドはGitの追跡を可能にする隠し.gitフォルダを作成します。

  • ファイルをステージングします:git initはファイルを自動的に追跡しないため、次のように追加してください:
git add .
  • ファイルをコミットします:以下のコマンドを実行して最初のスナップショットを保存します:
git commit -m "Initial commit"

このプロセスにより、未管理のプロジェクトが完全なバージョン履歴を持つものに変換され、新しい開発や協力に備えられます。

Gitの設定(必要に応じて)

エラー「Author Identity Unknown」が発生した場合、Gitはあなたが誰かを知らないことを意味します。これを修正するには、ユーザーのアイデンティティを設定してください:

  • Gitユーザー情報を設定します:
git config --global user.email "[email protected]" git config --global user.name "Your Name"

--globalを使用すると、これらの設定がマシン上のすべてのリポジトリに適用されます。省略すると、現在のリポジトリだけにアイデンティティが設定されます。

  • 構成を確認してください:
git config --global user.email git config --global user.name
  • コミットを再試行してください:
git commit -m "First Commit"

Gitを使用し始めた当初にこのエラーに遭遇しました。アイデンティティを設定することで解決しました。

初期のGitコミットはPowerShellで成功裏に実行されました。

リモートリポジトリに接続する

ローカルでGitリポジトリを初期化したら、バックアップしたり、他の人と協力してリモートリポジトリ(たとえばGitHub、GitLab、Bitbucket)に接続したいと思うでしょう。

  • リモートリポジトリを追加する:ローカルリポジトリをリモートリポジトリにリンクするには、次のコマンドを使用します:
git remote add origin <repository-url>

<repository-url>をリモートリポジトリのURLで置き換えます。 originはリモートリポジトリのデフォルトのエイリアスですが、任意の名前を使用できます。

  • 接続を確認できます:
git remote -v
  • 変更をリモートリポジトリにプッシュします:
# 最初のコミットをプッシュしてリモートブランチを追跡 git push -u origin $(git branch --show-current) # 'main'または'master'に適用します

上記のコマンドは、現在のブランチをプッシュしてリモートブランチをトラッキングするものです。

古いGitバージョンを使用しており、$(git branch --show-current)をサポートしていない場合は、次のようにします:

git push -u origin main # またはデフォルトのブランチによっては 'master'

プロジェクトを継続して作業する中で、チームと協力して異なるブランチからの変更をマージする必要があります。この Git マージチュートリアルでマージを効果的に処理する方法を学んでください。

認証およびアクセス

GitHub、GitLab、またはBitbucketにプッシュする場合、認証が必要になることがあります。セットアップに応じて、次のようにできます:

  • HTTPS認証の代わりにSSHキーを使用します(セキュリティ上の理由で推奨):
git remote set-url origin [email protected]:your-username/your-repo.git
  • HTTPSを使用する際は、パーソナルアクセス トークン(PAT)をパスワードの代わりに使用します。GitHubの場合、パスワードをトークンに置き換えます:
git push https://[email protected]/your-repo.git

リモートリポジトリへの接続は私にとって転機でした。これにより、ローカルの作業が安全にバックアップされ、共同作業の準備が整っていることが確認されました。また、バージョン管理に対する自信が持てるようになり、ローカルマシンが故障しても履歴が保存されていることを知ることができました。

Git Initの高度なオプション

自分のGit設定をカスタマイズしたい人のために、高度なオプションは追加の柔軟性を提供します。

ベアリポジトリの初期化

開発者が変更をプッシュするが、ファイルを直接編集しないGitサーバーを設定している場合、ベアリポジトリが必要です。ベアリポジトリは作業ディレクトリを省略し、バージョン管理データのみを含みます。通常、リモートリポジトリに使用されます:

git init --bare <repository-name>

ベアリポジトリは、インフラストラクチャとアプリケーションのデプロイメントがGitを通じて管理されるGitOpsワークフローでよく使用されます。GitOpsがソフトウェア配信をどのように自動化し、効率化するかを学びたい場合は、こちらのGitOpsガイドをチェックしてください。

特定の設定での初期化

開始時からカスタムGitフックや設定ファイルが必要な場合は、カスタムテンプレートで初期化してください:

git init --template=<template-directory>

以前、カスタムテンプレートを使用して、必要なフックを自動的に読み込むことで、チームの展開プロセスが効率化されました。

Git Initの使用におけるベストプラクティス

Gitを正しく活用することは、将来の時間とトラブルを節約できます。

プロジェクト構造の整理

git initを実行する前に、ファイルを論理的なフォルダ構造に整理してください — コード、ドキュメント、アセットを別々にします。

あるプロジェクトで引き継いだ際、複数のサブプロジェクトからのファイルが混在しており、マージの衝突や混乱が発生していました。すべてを明確に定義されたフォルダに整理し、リポジトリを再初期化し、適切な.gitignoreを設定することで、ワークフローが大幅に改善しました。

早めに.gitignoreファイルを追加する

リポジトリを初期化した直後に、不要なファイルの追跡を防ぐために.gitignoreファイルを作成します:

touch .gitignore

次に、以下のようなルールを含めて編集します:

# 依存関係のフォルダとログファイルを無視 node_modules/ *.log .DS_Store # macOS システムファイル Thumbs.db # Windows システムファイル

この手順により、大量のコミット履歴や将来の衝突から救われました。

.gitignore ファイルの詳細な設定ガイドについては、gitignore チュートリアルを参照してください。

頻繁にコミットする

明確なメッセージを付けて小さく頻繁にコミットすることは、詳細なプロジェクト履歴の構築に役立ち、デバッグやコラボレーションを簡素化します。

一般的な Git Init の問題のトラブルシューティング

適切な計画をしていても、問題が発生することがあります。以下は一般的な問題と対処法です。

間違ったディレクトリで初期化してしまった

問題: 間違ったフォルダーで git init を実行し、不要な Git リポジトリを作成してしまいました。

解決策:  

  • Gitリポジトリを削除します:
rm -rf .git

> 警告: これによりそのリポジトリのすべてのバージョン履歴が削除されます。このコマンドを実行する前に正しいフォルダにいることを確認してください!

次に、正しいディレクトリに移動して、git initを再度実行します。 

私も何度かこの間違いをしてしまいましたので、作業ディレクトリを再確認してください。

追跡されていないファイルの取り扱い

問題: git initを実行した後、Gitがファイルを追跡していません。 git statusを実行すると、次のように表示されます:

No commits yet Untracked files: (use "git add <file>..." to include in what will be committed)

解決策: 

  • ファイルが本当に追跡されていないかどうかを確認します:
git status

ファイルがUntracked filesの下に表示される場合、Gitはそれらを認識していますが、まだ追跡していません。

  • その後、必要なファイルをステージングします:
git add <file-name>
  • ファイルをコミットします:
git commit -m "Initial commit"

定期的なステータスチェックは重要な点を見落とさないようにします。

git status がファイルを表示していない場合は、プロジェクトに重要なファイルを除外している可能性がある .gitignore ファイルがあるかどうかを確認してください。

結論

git init のマスタリングは、信頼性のあるバージョン管理システムの構築に向けた重要な第一歩です。このガイドに従って、リポジトリの初期化と整理から一般的な問題のトラブルシューティングまでを行い、スムーズで効率的なワークフローを構築してください。

小さなスタートを切って、git init を使用してテストプロジェクトを初期化し、ステージングやコミット、変更のプッシュを試してみてください。Gitの基本をできるだけ早くマスターすれば、ワークフローがより効率的になります!さらにGitのスキルをさらに深めたい場合は、以下のDataCampコースをチェックしてみてください:

  • 中級Git – 高度なブランチング、マージ、およびコンフリクト解決テクニックでスキルを向上させます。
  • GitHub基礎 – 協力プロジェクトのためにGitをGitHubとシームレスに統合する方法を学びます。

コーディングを楽しんで、Gitを使用して信頼性の高い革新的なプロジェクトを作成しましょう!

Source:
https://www.datacamp.com/tutorial/git-init