Git を Ubuntu にインストールしてリモートリポジトリにプッシュする
こんにちは、@studio_meowtoon です。今回は、WSL の Ubuntu 24.04 LTS に Git をインストールする手順と、既存のプロジェクトをクローンし、リモートリポジトリにプッシュする方法を紹介します。
目的
Windows 11 の Linux でクラウド開発します。
こちらから記事の一覧がご覧いただけます。
実現すること
- Windows 11 の WSL Ubuntu 24.04 に Git をインストールします。
- 既存のプロジェクトをクローンし、変更をリモートリポジトリにプッシュします。
技術トピック
Git とは?
こちらを展開してご覧いただけます。
Git (ギット)
Git は、分散型バージョン管理システムの一つであり、ソフトウェアの開発やテキストファイルなどの変更履歴を記録・管理するためのツールです。Git は、ファイルの変更履歴をリポジトリと呼ばれる場所に保存し、それらの変更履歴を追跡、比較、統合することができます。また、Git は複数の人が同時にファイルを編集する際のバージョンの競合を管理し、修正することができます。Git はオープンソースであり、世界中の多くのプロジェクトで広く使用されています。
開発環境
- Windows 11 Home 23H2 を使用しています。
WSL の Ubuntu を操作していきますので macOS の方も参考にして頂けます。
WSL (Microsoft Store アプリ版) ※ こちらの関連記事からインストール方法をご確認いただけます
> wsl --version
WSL バージョン: 2.2.4.0
カーネル バージョン: 5.15.153.1-2
WSLg バージョン: 1.0.61
Ubuntu ※ こちらの関連記事からインストール方法をご確認いただけます
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04 LTS
Release: 24.04
Codename: noble
この記事では基本的に Ubuntu のターミナルで操作を行います。
Git のインストールと設定
Git をインストールします。
$ sudo apt update
$ sudo apt install git
バージョンを確認します。
$ git --version
git version 2.43.0
Git にアカウントを設定します。
$ git config --global user.name "YOUR NAME"
$ git config --global user.email awesome@company.com
上記の設定は、Git のコミット情報にも含まれます。名前を漢字で設定した場合、コミット情報にも漢字で登録されます。ご参加されているプロジェクトの規約や方針をご確認の上、設定を行ってください。
Git のオプションを設定します。
$ git config --global core.autocrlf false
$ git config --global core.quotepath false
core.autocrlf は、Git が自動的に改行コードを変換するかどうかを設定するものです。 Linux では改行コードが LF のみであるため、この設定を false にすることで、Git が改行コードを変換しないようにすることができます。
core.quotepath は、ファイル名をクオートする必要がある場合に、Git がそれを行うかどうかを設定するものです。この設定を false にすることで、Git がファイル名をクオートしないようにすることができます。
アカウントの確認
$ git config user.name
$ git config user.email
それぞれ以下のように確認することができます。
YOUR NAME
awesome@company.com
これで Ubuntu に Git をインストールして設定することができました。
プロジェクトをクローンしてみる
Git を初めて使用する場合、既に存在するプロジェクトをクローンして Git の操作を始めるケースは一般的です。今回は、そのような状況で Git の操作を試みます。
GitHub を利用する場合や社内の GitLab を利用する場合、通常、プロジェクトは https://awesome.gitlab.url.com/username/qiita-contents.git といった URL で公開されます。
プロジェクトをクローンする
$ cd ~
$ git clone https://awesome.gitlab.url.com/username/qiita-contents.git
ディレクトリを確認する
$ ls -la
drwxr-xr-x 3 username username 4096 3月 3 15:33 qiita-contents
qiita-contents というフォルダが作成されています。
プロジェクトに移動して、内容を確認します。
$ cd qiita-contents
$ ls -la
※ 省略
drwxr-xr-x 8 username username 4096 3月 3 15:37 .git
-rw-r--r-- 1 username username 89 3月 3 15:24 README.md
※ 省略
プロジェクトフォルダの内に .git フォルダがあります。このフォルダには Git がこのフォルダを管理する情報が含まれています。そして、Git が管理するフォルダに含まれる全てのファイルとディレクトリを含む、Git の操作に必要な情報を保存する場所を Git リポジトリ と呼ぶことが一般的です。
Git リポジトリ | 概要 |
---|---|
ローカルリポジトリ | Git の管理下に置かれたファイルやディレクトリを含む、自分自身の開発環境にあるリポジトリです。つまり、自分が作成・編集したコードの変更履歴や状態を管理するためのデータベースです。 |
リモートリポジトリ | 複数の開発者が協力して開発を行う場合に、共有するために設置されるリポジトリです。リモートリポジトリには、通常、GitHub や GitLab などの WEB サービス上に設置されたものが多くあります。 |
ここまでのまとめ
リモートリポジトリから、git clone コマンドでローカルリポジトリを作成することが出来ました。
リモートリポジトリの URL は?
プロジェクトフォルダに .git フォルダが存在した場合、リモートリポジトリを確認することができます。
リモートリポジトリを確認してみます。
$ git remote -v
origin https://awesome.gitlab.url.com/username/qiita-contents.git (fetch)
origin https://awesome.gitlab.url.com/username/qiita-contents.git (push)
上記の例では、リモートリポジトリの名前が origin であり、URL は https://awesome.gitlab.url.com/username/qiita-contents.git となっています。
git remote -v コマンドで表示されるリモートリポジトリの URL の横に表示される fetch と push は、それぞれリモートリポジトリの取得と送信に使用される URL であることを示しています。
プロジェクトをプッシュしてみる
プロジェクト内のファイルを編集してリモートリポジトリにプッシュします。
プロジェクトフォルダ内でファイルを編集した場合、自分が変更を加えたローカルリポジトリから、リモートリポジトリに変更内容を push することで、自分の変更をリモートリポジトリに反映させることができます。
ローカルリポジトリの状態を確認します。
$ git status
ブランチ master
Your branch is up to date with 'origin/master'.
追跡されていないファイル:
(use "git add <file>..." to include in what will be committed)
install_git_to_ubuntu.md
nothing added to commit but untracked files present (use "git add" to track)
※ 編集されたファイルは実際には赤で表示されています。
しかしこの状態ではリモートリポジトリにプッシュすることは出来ません、ステージングとコミットが必要です。
ステージングします。
$ git add .
"." は現在のディレクトリを表し、add コマンドによって変更されたファイルを追跡し、ステージングエリアに追加します。※ ファイル名を個別に指定することもできます。
もう一度ローカルリポジトリの状態を確認してみます。
$ git status
ブランチ master
Your branch is up to date with 'origin/master'.
コミット予定の変更点:
(use "git restore --staged <file>..." to unstage)
new file: install_wsl_and_ubuntu_to_windows.md
※ ステージングされたファイルは実際には緑で表示されています。
Git におけるステージングとは、変更されたファイルのうち、次のコミットに含めたい変更を選択的に指定することです。つまり、変更したファイルをステージングすることで、次のコミットに反映させる変更を選ぶことができます。
コミットします。
$ git commit -m "update"
[master 7786346] update
1 file changed, 234 insertions(+)
create mode 100644 install_git_to_ubuntu.md
commit コマンドは、現在のステージングエリアの変更内容をコミットすることを意味します。-m は、コミットメッセージを直接コマンドラインで入力するためのオプションです。引用符で囲まれた "update" は、コミットメッセージと呼ばれる変更の概要を示す説明文です。
プッシュします。
$ git push origin master
Username for 'https://awesome.gitlab.url.com': username
Password for 'https://username@awesome.gitlab.url.com':
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 12 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 3.20 KiB | 3.21 MiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To https://awesome.gitlab.url.com/username/qiita-contents.git
bfcd803..e2c9495 master -> master
push コマンドで、現在のブランチを origin リモートリポジトリの master ブランチにプッシュしています。
これでリモートリポジトリにプッシュすることができました。
まとめ
- Window 11 の WSL Ubuntu 24.04 LTS に Git をインストールして使用する準備ができました。
- リモートリポジトリから、プロジェクトをローカルリポジトリとしてクローンすることができました。
- ローカルリポジトリの編集内容を、リモートリポジトリにプッシュすることができました。
どうでしたか? Git の操作には、この他にもたくさんのコマンドがあります。みなさんも少しづつ試してみてください。それでは失礼します。