Gitの基本的な使い方について
Gitは分散型のバージョン管理システムであり、ソースコードやドキュメントなどの変更履歴を管理することができます。Gitによって変更履歴が管理されることで、複数の人が同時に作業を行う場合でも、誰が何を変更したかを追跡することができます。また、変更履歴を元に、過去の状態に戻したり、異なるバージョン同士を比較したりすることができます。
Gitの管理方法についてGUIツールを用いる方法もありますが、今回はGitをコマンドで使用する方法を説明していきます。
リポジトリの初期化
新しいプロジェクトを始める場合、git init
コマンドを使用してGitリポジトリを初期化します。Gitリポジトリを初期化すると、プロジェクトフォルダ内に.git
という隠しフォルダが作成されます。このフォルダにはGitのコンフィグや変更履歴が保存されます。
cd my_project
git init
ファイルの登録
Gitは変更されたファイルを自動的に登録しません。ファイルを登録するには、git add
コマンドを使用します。例えば、git add index.html
と入力すると、index.html
ファイルがGitによって登録されるようになります。
git add
コマンドには、登録対象のファイルを指定する方法のほか、フォルダ全体を登録対象にするオプションもあります。
git add index.html
git add images/
コミットの作成
ファイルを登録した後、変更をコミットすることができます。コミットとは、変更履歴の単位であり、コミットごとに変更されたファイルや変更内容が記録されます。コミットには、意味のあるメッセージを付けることが推奨されています。
git commit
コマンドを使用して、変更を含む新しいコミットを作成します。例えば、git commit -m "Add index.html"
と入力すると、"Add index.html"
というコミットメッセージが含まれた新しいコミットが作成されます。
git commit -m "Add index.html"
リモートリポジトリへのプッシュ
作成したコミットをリモートリポジトリにプッシュすることで、他の人と共有することができます。リモートリポジトリとは、複数の人が共有するGitリポジトリのことです。
まず、リモートリポジトリを追加する必要があります。リモートリポジトリの追加には、git remote add
コマンドを使用します。origin
という名前でリモートリポジトリを追加する例を示します。
git remote add origin git@example.com:user/repo.git
origin
は、リモートリポジトリの名前です。git@example.com:user/repo.git
は、リモートリポジトリのURLです。リモートリポジトリのURLは、Gitのホスティングサービスや自分で用意したサーバなどによって異なります。
リモートリポジトリにプッシュするには、git push
コマンドを使用します。例えば、git push origin main
と入力すると、main
ブランチの変更がorigin
というリモートリポジトリにプッシュされます。
git push origin main
ブランチの作成と切り替え
Gitでは、複数のブランチを作成して、並行して作業を進めることができます。ブランチとは、変更履歴の流れを分岐させたもので、ある時点の変更履歴から新たなブランチを作成し、そこで作業を進めることができます。新たなブランチで作業が完了したら、元のブランチにマージすることができます。
git branch
コマンドを使用して、新しいブランチを作成します。例えば、git branch feature
と入力すると、feature
という名前の新しいブランチが作成されます。
git branch feature
ブランチを切り替えるには、git checkout
コマンドを使用します。例えば、git checkout feature
と入力すると、feature
ブランチに切り替わります。
git checkout -b feature
フェッチとプル
リモートリポジトリから新しい変更があった場合、ローカルリポジトリに反映するためには、git fetch
またはgit pull
コマンドを使用します。git fetch
は、リモートリポジトリの変更を取得するだけで、ローカルリポジトリには反映されません。git pull
は、git fetch
に加えて、リモートリポジトリから取得した変更をローカルリポジトリにマージします。
git fetch origin
git merge origin/main
git fetch
コマンドでリモートリポジトリから変更を取得し、git merge
コマンドで取得した変更を現在のブランチにマージします。上記の例では、origin/main
ブランチの変更を取得しています。
git pull
コマンドを使用する場合は、以下のように入力します。
git pull origin main
コンフリクトの解決
複数の人が同時に同じファイルを変更し、それをコミットした場合、コンフリクト(衝突)が発生することがあります。コンフリクトとは、自動的にマージできない変更がある場合に発生するもので、手動で解決する必要があります。
コンフリクトが発生した場合は、git status
コマンドで状態を確認し、<<<<<<<
や=======
、>>>>>>>
のようなマークが付いた箇所を手動で修正します。
修正後は、ファイルをステージしてコミットすることで、コンフリクトを解決します。
git add index.html
git commit -m "Merge branch 'feature'"
履歴の確認
Gitでは、過去の変更履歴を確認することができます。git log
コマンドを使用すると、コミットの履歴を表示することができます。
git log
git log
コマンドには、オプションを付けることで、表示される情報を制限することもできます。例えば、--oneline
オプションを付けると、短い形式でコミットの履歴を表示することができます。
git log --oneline
終わりに
以上でGitを使用することができると思います。Gitを使うのに便利な機能とかGUIとかはまた機会がありましたら、別の記事にて紹介しようかと思います。
コメント