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.gitoriginは、リモートリポジトリの名前です。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/maingit 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 loggit logコマンドには、オプションを付けることで、表示される情報を制限することもできます。例えば、--onelineオプションを付けると、短い形式でコミットの履歴を表示することができます。
git log --oneline終わりに
以上でGitを使用することができると思います。Gitを使うのに便利な機能とかGUIとかはまた機会がありましたら、別の記事にて紹介しようかと思います。

コメント