僕はこう見えてLinux信者なんです。たっきん(Twitter)です!
突然ですが、パソコンのOS(オペレーティング・システム)と聞いたら何を思い浮かべますか?
有名どころだとWindows(ウィンドウズ)がありますが、僕はLinux(リナックス)もよく使っています。
システム開発屋さんだとLinuxを使ったことある人もいるのではないでしょうか?
Linux OSを知らない人のために簡単に説明すると、
- Windows → GUI(Graphical User Interface)操作に優れたOS
- Linux → CUI(Command User Interface)が優れたOS
になるんじゃないかと思いますが、WindowsでもCUIを扱うこともできますし、逆にLinuxもシンプルながらGUI環境は導入することができるため、正直大差はないんじゃないかと思います。
そのため、好みでWindowsまたは、Linuxを使えばいいと思いますが、僕個人的に体感できる差は以下の2つです。
- 軽量OSのため、動作が軽い。
- 実質Linuxにしか対応していないアプリケーションがある。
まず動作についてですが、圧倒的にLinuxは軽いです。
CPU負荷、メモリ消費量もWindowsに比べたらかなり小さく、多少スペックの低いパソコンでも快適に動作します。
案外モバイルノートPCと相性が良いOSな気がしてます。
そして、Linuxにしか対応していないアプリケーションですが、代表例を挙げるならROS(Robot Operating system)ですね。
現在ROSとROS2という2つのバージョンが並行で開発されており、特にROS2はWindowsにもインストールできるらしいのですが、ネットや書籍でもLinuxでも情報が大半ですので、実質Linuxでの使用一択です。
一括りにLinuxといってもUbuntuやFedora、CentOS、Linux Mintといったように数多くのディストリビューションが存在します。
自分の好みのディストリビューションを選べるのもLinuxの良さの1つだね。
私Linux初心者なんですけど、初心者にオススメのディストリビューションってありますか?
僕ならUbuntuをオススメするね!
Ubuntuを使ってるユーザーは結構多く、ネット上でのコミュニティも盛んだから、行き詰ったときにネットで調べると解決方法が見つかることが多いよ。
僕が現在進行中で開発しているシストレ開発もOSはUbuntuを使っており、その上にEclipseとROS×Pythonの開発環境を構築しています。
なので今回は実際に僕がシストレ開発で使用しているUbuntu×EclipseのPython開発環境手順について、備忘録的な感じで残していこうと思います。
事前準備
Ubuntu上にEclipseとPython開発環境を構築するくらいなので、パソコンにUbuntu OSをインストールしておくことが前提となります。
Ubuntuのインストール方法についてはググるとたくさん情報が出てくるので、あえてこの記事では書きません。
ネットの情報を参考に自分のパソコンにインストールしてみてください。
この記事を書いている現在ではUbuntu 24.04が最新バージョンとなってます。
以降はUbuntu 24.04がインストール済みの状態であることを前提に話を進めていきますが、手始めに以下のコマンドでパッケージ一覧を更新しておきましょう。
$ sudo apt update && sudo apt upgrade
OpenJDKのインストール
OpenJDKがインストールされていないとEclipseのインストーラーが起動できません。
OpenJDKがインストールされているかどうかは以下のコマンドを実行することでわかります。
$ java --version
コマンドを実行したときに「コマンド ‘java’ が見つかりません。」と表示されたらOpenJDKがインストールされていないので、以下のコマンドでインストールします。
今回はバージョン21をインストールします。
$ sudo apt install openjdk-21-jdk
インストールが完了したらもう一度「java –version」コマンドを実行し、以下のように表示されることを確認しましょう!
$ java --version
openjdk 21.0.3 2024-04-16
OpenJDK Runtime Environment (build 21.0.3+9-Ubuntu-1ubuntu1)
OpenJDK 64-Bit Server VM (build 21.0.3+9-Ubuntu-1ubuntu1, mixed mode, sharing)
Pythonのインストール
以下のコマンドでpythonのバージョンが確認できます。
バージョンが表示されたらpythonがインストールされています。
$ python3 --version
Python 3.12.3
もし、Pythonがインストールされてないようであれば以下のコマンドでインストールしましょう。
$ sudo apt install python3.12
またpip3も入れておきましょう。
パッケージ管理が楽になります。
pip3は以下のコマンドでインストールできます。
$ sudo apt install python3-pip
Eclipseのインストール
事前準備も済んだところで、いよいよ本命のEclipseをUbuntuにインストールしていきます。
WindowsだとPleadesのサイトからPythonプラグイン(PyDev)入りのEclipse本体(しかも日本語済み)を一括でインストールできたのですが、Ubuntuだとそうはいきません。
少し手間はかかりますが、難しい内容ではないので1つずつ説明していきます。
- Eclipse本体のインストール
- Eclipseランチャーの作成
- 日本語化
- Eclipse用Pythonプラグイン(PyDev)のインストール
- Eclipse用Gitプラグイン(EGit)のインストール
- エディタのフォントを変える
Eclipse本体のインストール
Eclipse本体はEclipseの本家サイトからダウンロードします。
ページを開いたら「Download」をクリック。
切り替わったページでさらに「Download」をクリックするとインストーラーのダウンロードが始まります。
少し待つと「eclipse-inst-linux64.tar.gz」というファイルがダウンロードされるので、適当な場所に解凍します。
・tar.gz形式
Linuxの圧縮ファイル形式で、Windowsのzipファイルみたいなものです。
読み方は「ターボール(tar.gz)」。
解凍すると以下のようなファイルが展開されます。
「eclipse-inst」ファイルをダブルクリックし、インストーラーを起動します。
すると以下のような画面が立ち上がります。
この一覧にはC/C++、Java、PHP向けなどのパッケージが用意されていますが、Python向けのパッケージはありません。
なので最小構成のEclipse本体をインストールし、手動でPython等の必要なプラグインを追加していきます。
まずは右上の①をクリックし、開いたメニューから「ADVANCED MODE…」をクリックします。
すると別画面が開くので、「Eclipse Platform」を選択し、「Next」をクリックします。
そのまま「Next」をクリック。
任意で①でインストール場所を、②でインストールフォルダ名を指定します。
今回①のインストール場所はユーザー個別環境「/home/takkin(ユーザ名)/tool」にします。
その後、「Next」をクリック。
「Finish」をクリック。
「Accept Now」をクリック。
インストールが開始されるので、少し待ちます。
終わったら「Finish」をクリック。
これでインストール作業は完了です。
Eclipseランチャーの作成
Ubuntuのデスクトップ画面の左側にはランチャーと呼ばれるアプリケーションのショートカットアイコンが表示されます。
ランチャーはクリックするだけでアプリケーションが起動できるため、とても便利です。
Ubuntuソフトウェアからアプリケーションをインストールすると、自動でランチャーが作成されますが、今回のように手動でインストールした場合、ランチャーが自動で作成されないため、アプリケーションを起動するなら端末を立ち上げコマンド入力が必要になり少々面倒です。
なので、手間を省くためにEclipseのランチャーを作成していきます。
ランチャーファイルの拡張子は.desktopである必要があります。
今回はEclipseのランチャーを作成するため、ファイル名は「eclipse.desktop」で作成します。
作成場所は2種類あって、システム全体で使用するアプリなら「/usr/local/share/applications」配下に、ユーザー個別にインストールしたアプリなら 「~/.local/share/applications」配下に置きます。
今回Eclipseはユーザー個別環境にインストールしたので、ランチャーもユーザー個別環境の「~/.local/share/applications」に配置していきます。
$ cd ~/.local/share/applications/
$ gedit eclipse.desktop
「eclipse.desktop」ファイルの中身は以下のように記述します。
[Desktop Entry]
Version=1.0
Type=Application
Name=Eclipse
Name[ja]=Eclipse
Comment=Eclipse is an integrated development environment (IDE)
Comment[ja]=統合開発環境
Keywords=Java;java;IDE
Keywords[ja]=Java;java;IDE;統合開発環境
Exec=[eclipse実行ファイルのフルパス]/eclipse ・・・①
Icon=[eclipseアイコンファイルのフルパス]/icon.xpm ・・・②
Terminal=false
Categories=Java;Development;IDE
StartupNotify=true
StartupWMClass=Eclipse
Actions=Clean
[Desktop Action Clean]
Name=eclipse -clean
Exec=[eclipse実行ファイルのフルパス]/eclipse -clean ・・・③
①②③はインストールした環境に合わせて記述します。
僕の環境の例だと以下のようになります。
①:Exec=/home/takkin/tool/ide-latest-released/eclipse/eclipse
②:Icon=/home/takkin/tool/ide-latest-released/eclipse/icon.xpm
③:Exec=/home/takkin/tool/ide-latest-released/eclipse/eclipse -clean
保存して閉じたらDockの「アプリケーションの表示」から「eclipse」で検索してみます。
eclipse.desktopの②で指定したアイコンでEclipseが表示されれば成功です。
右クリックして「ダッジュボードにピン留め」を選ぶと、ランチャーとして追加されます。
日本語化
次はEclipseの日本語化をしていきます。
Eclipseインストール直後だとメニュー等が全て英語となっています。
まぁ英語が読める人なら日本語化しなくてもよいと思いますが、僕は英語は読めないのでしっかり日本語化していきます(笑)
日本語化プラグインはPleiadesのサイトからダウンロードできます。
もちろんLinux版を選択し、ダウンロードします。
「pleiades.zip」というファイル名でダウンロードされるので、ダウンロードが完了したらzipファイルを解凍します。
解凍すると以下のようなファイルが展開されます。
これらのファイルの内、「features」と「plugins」のフォルダをコピーします。
次にEclipseの実行ファイルがインストールされたディレクトリを開きます。
すると同じ階層に「features」と「plugins」があるので、上書きペーストします。
マージしますかと聞かれるので「この操作をすべてのファイルとフォルダーに適用する」にチェックを入れてから「マージ」を選択します。
次は「eclipse.ini」を編集していきます。
「eclipse.ini」をエディターで開いたら最終行に以下の2行を追記します。
-Xverify:none
-javaagent:[pluginsの絶対パス]/jp.sourceforge.mergedoc.pleiades/pleiades.jar
2行目はeclipseをインストールしたディレクトリによって記述が異なってきます。
僕がインストールした環境の例だと、
-javaagent:/home/takkin/tool/ide-latest-released/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
となります。 追記が完了したらエディタを保存して閉じ、Eclipseを起動します。
以下のように日本語化されていたら成功です。
Eclipse用Pythonプラグイン(PyDev)のインストール
Eclipse上でpythonが実行できるようにPythonプラグイン(PyDev)をインストールします。
メニューの「ヘルプ」→「新規ソフトウェアのインストール」をクリックします。
別ウィンドウが立ち上がるので「追加」をクリックします。
リポジトリーの追加ウィンドウが立ち上がるので以下の項目を入力し、「追加」をクリックします。
- 名前:PyDev(任意の名前でよい)
- ロケーション:https://www.pydev.org/updates
PyDevにチェックを入れて「次へ」をクリックします。
「次へ」をクリックします。
「同意します」にチェックを入れ、「完了」をクリックします。
「署名されてないコンテンツが・・・」とでるので、「すべて選択」をクリックした後に、「選択項目を信頼」をクリックする。
インストールが完了すると再起動を要求されるので、「今すぐ再起動」をクリックします。
無事再起動出来たら次はPyDevのパースペクティブを開きます。
メニューの「ウィンドウ」→「パースペクティブ」→「パースペクティブを開く」→「その他」をクリックします。
「PyDev」を選択し、開くをクリックします。
「PyDev」パースペクティブが開きました。
Pythonのコーディングは基本的にこのパースペクティブで行っていきます。
次はPyDevの設定を行っていきます。
メニューの「ウィンドウ」→「設定」をクリックします。
左の項目から「PyDev」→「インタープリター」→「Pythonインタープリター」の順にクリックし、右側の「新規」→「リストから選択」をクリックします。
使用可能なPythonバージョンごとにリストが表示されるので、使用するバージョンを選択し、「OK」をクリックします。
全てにチェックを入れ、「OK」をクリックします。
pythonインタープリターが追加されました。
「適用して閉じる」をクリックします。
pythonが正常に実行できるかprint文のみのサンプルコードを書いて実行してみました。
コンソールにprint文の文字が表示されることを確認しましょう。
以上で、Eclipse用Pythonプラグイン(PyDev)のインストール作業は完了です。
Eclipse用Gitプラグイン(EGit)のインストール
Eclipse上でGitによるバージョン管理ができるようにGitプラグイン(EGit)をインストールします。
PyDevのインストールのときと同じようにメニューの「ヘルプ」→「新規ソフトウェアのインストール」をクリックし、リポジトリー追加のウィンドウを立ちあげ、以下の項目を入力します。
- 名前:EGit(任意の名前でよい)
- ロケーション:https://download.eclipse.org/egit/updates
「Eclipse用Git統合」にチェックを入れて「次へ」をクリックします。
「次へ」をクリックします。
「同意します」にチェックを入れ、「完了」をクリックします。
インストールが完了すると再起動を要求されるので、「今すぐ再起動」をクリックします。
無事再起動出来たら次はGitのパースペクティブを開きます。
メニューの「ウィンドウ」→「パースペクティブ」→「パースペクティブを開く」→「その他」をクリックし、「パースペクティブを開く」のウィンドウで「Git」を選択し、開くをクリックします。
「Git」パースペクティブが開きました。
このパースペクティブではプッシュ、プルなどの一連のGit操作ができます。
以上で、Eclipse用Gitプラグイン(EGit)のインストール作業は完了です。
エディタのフォントを変える
Eclipseはエディタのフォントも変えることができます。
デフォルトのフォントで気にならなければそのままでいいのですが、僕はコーディングする際はいつもMigu 1Mのフォントを使用しています。
個人的にMigu 1Mのフォントは読みやすくて気に入っています。
フォントはネット上にたくさん転がっているので皆さんもお気に入りのフォントを見つけてみてはいかがでしょうか?
では、Eclipseでのフォント変更の手順を説明していきます。
以下のURLよりMigu 1Mフォントをダウンロードします。
・https://mix-mplus-ipa.osdn.jp/migu/
ダウンロードが終わったら適当な場所に解凍します。
$ unzip migu-1m-20200307.zip
フォントファイルは「/usr/local/share/fonts/」の下に置くことで追加フォントとして認識されるようになります。
また、フォントファイルは「*.ttf」になるため、上記解凍先の全ttfファイルをコピーして「/usr/local/share/fonts/」配下に置きます。
$ sudo cp *.ttf /usr/local/share/fonts/
配置が終わったらEclipseを起動し、メニューの「ウィンドウ」→「設定」をクリックします。
その後開いたウィンドウで左の項目から「一般」→「外観」→「色とフォント」の順にクリックし、右側の「基本」項目を開きます。
「テキスト・フォント」という項目があるので右クリックで選択します。 選択すると現在の設定フォントがプレビューに表示されます。
「編集」ボタンをクリックします。
検索ボックスで「migu」と入力し、「Migu 1M Regular」を選択後、フォントサイズを任意の値で指定し、「選択」をクリックします。
プレビューが更新されていることを確認し、「適用して閉じる」をクリックします。
以上でフォント変更作業は完了です。
ちなみに、Migu-1Mフォントは以下のような感じです。
GithubのSSHキー認証設定
2021年8月13日以降、GithubではGit操作をする際のパスワード認証が廃止され、トークンベースの認証が必要になりました。
そのため、トークンベース認証の設定をしておかないとGithubにプッシュ(push)等の操作が一切できない状態になります。
トークンベース認証にはHTTPSまたはSSHキーを使用した認証がありますが、今回はUbuntuにSSHキー認証の設定してEclipseからGithubにプッシュ操作ができるようになるまでの設定手順を説明していきます。
リモート(Github)リポジトリ / ローカルリポジトリの作成
Githubのアカウントを持っていない方はアカウントを作成しておきましょう!
ここでは僕のアカウント上に「push-test」というリポジトリを作成して説明していきます。
Githubのリポジトリがリモートリポジトリになります。
リモートリポジトリが作成できると下記の画面が表示されるので、赤枠内のコマンドをubuntuのローカル環境で打ち込んで行きます。
コマンドの意味は逐次説明していきますが、やっていることを簡単に説明するとローカルリポジトリを作成し、リモートリポジトリへプッシュ操作をするためのコマンドになります。
ではUbntuのローカル環境で先ほどのコマンドを打ち込んでいくのですが、その前にgitをインストールしておきましょう。
$ sudo apt install git
Gitのインストールができたら初期設定をしておきましょう。
以下のコマンドでGitユーザー名とメールアドレスを設定します。
$ git config --global user.name [ユーザ名]
$ git config --global user.email [メールアドレス]
この設定情報は「~/.gitconfig」ファイルに書き込まれます。
次は、ワークスペースを作成しましょう。
リモートリポジトリ名を「push-test」にしたので、ワークスペース名も「push-test」にします。
$ mkdir push-test && cd push-test
以上でGitの初期設定は終わりましたので、今度こそコマンドを打ち込んでいきましょう。
最初のコマンドはこれです。
$ echo "# push-test" >> README.md
上記はREADME.mdファイルを作成し、ファイル内に「# push-test」を追記するコマンドになります。
ファイルが作成できたか「ls」のコマンドで確認しましょう。
$ ls
README.md
README.mdファイルが生成されていることは確認できました。
念のため、README.mdファイルの中身に「# push-test」が記載されているか「cat」コマンドで確認してみましょう。
$ cat README.md
# push-test
次はローカルリポジトリ作成のための初期化コマンドになります。
$ git initst
初期化が完了すると下記のメッセージが表示されます。
Initialized empty Git repository in /home/takkin/git_repo/push-test/.git/
これで無事ローカルリポジトリの作成が完了しました。
では先ほど作成したREADME.mdファイルをコミットしていきましょう。
まずはコミット前のステージです。
$ git add README.md
ステージが完了したら次はコミットです。
-mオプションでコミット時のコメントが指定できます。
ここでは「first commit」というコメントを付けてコミットします。
$ git commit -m "first commit"
コミットが完了すると下記のメッセージが表示されます。
[master (root-commit) a265922] first commit
1 file changed, 1 insertion(+)
create mode 100644 README.md
次は現在のブランチに名前を付けていきます。
ここではブランチ名を「main」とします。
$ git branch -M main
下記コマンドで現在のブランチが確認できます。
$ git branch
* main
次は現在のローカルリポジトリにGithubで作成したリモートリポジトリを追加します。
$ git remote add origin git@github.com:takkin-takilog/push-test.git
追加できたらローカルリポジトリでの変更(ここではREADME.mdファイルの追加)をリモートリポジトリへプッシュしてみましょう・・・と言いたいところですが、ここで冒頭で述べたことを思い出してみましょう。
Githubではトークンベースの認証が必要になったので、トークンベース認証の設定をしておかないとプッシュ等の操作が一切できないはずです。
ここまでの段階でトークンベース認証設定はしていないのでリモートリポジトリへのプッシュはできないはずです。
実際に下記のプッシュコマンドを打ってどうなるのかを確認してみましょう。
$ git push -u origin main
The authenticity of host 'github.com (20.27.177.113)' can't be established.
・・・
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
認証設定を何もしていなければ上記のようなメッセージが表示されてプッシュに失敗します。
なので次はトークンベース認証として、SSHキー認証の設定をしていきましょう。
SSHキー認証設定
SSHキー認証は公開鍵と秘密鍵を使う秘密鍵暗号方式になります。
秘密鍵暗号方式についてはここで説明はしませんので興味ある方はググるなりして自分なりに調べてみてください。
ではさっそく公開鍵と秘密鍵を生成していきましょう。
今回はed25519暗号化アルゴリズムで生成していきます。
$ ssh-keygen -t ed25519 -C "github-ssh-key"
-Cオプションはコメント追記です。
コマンドを打つと鍵ファイル名とパスフレーズの入力を求められます。
$ ssh-keygen -t ed25519 -C "github-ssh-key"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/takkin/.ssh/id_ed25519): [鍵ファイル名]
Enter passphrase (empty for no passphrase): [パスフレーズ]
Enter same passphrase again: [パスフレーズ(確認用)]
鍵ファイル名は出力される鍵ファイル名になります。
パスフレーズはパスワードみたいなもので設定しておくと秘密鍵にアクセスする際にパスフレーズの入力が要求されますが、設定なしにすることも可能です。
今回は下記の設定で鍵を生成します。
- 鍵ファイル名 → id_ed25519_github
- パスフレーズ → なし
Enter file in which to save the key (/home/takkin/.ssh/id_ed25519): id_ed25519_github
Enter passphrase (empty for no passphrase):(何も入力しないでエンターを押す)
Enter same passphrase again:(何も入力しないでエンターを押す)
Your identification has been saved in id_ed25519_github
Your public key has been saved in id_ed25519_github.pub
成功すると~/.ssh配下に鍵ファイルが生成されるので確認してみましょう。
$ cd ~/.ssh/
$ ls
id_ed25519_github id_ed25519_github.pub
公開鍵は拡張が「.pub」になります。
- 公開鍵:id_ed25519_github.pub
- 秘密鍵:id_ed25519_github
SSHキー認証するためにはGitHubへ公開鍵を登録する必要があります。
なので公開鍵ファイルの中身を確認して内容を全てコピーしておきましょう。
$ cat id_ed25519_github.pub
ssh-ed25519 ********** github-ssh-key
「**********」は暗号化するためのキー(文字列)になります。
次はGithub側の設定になります。
ブラウザからGithubを開いてSettings画面を開き、「SSH and GPG Keys」をクリックするとSSH keys登録画面が開くので「New SSH key」ボタンをクリックします。
するとタイトルとキーを入力する画面が表示されるのでタイトルの入力とコピーした公開鍵をペーストします。
- Title:任意のタイトル(今回は「Test」で入力)
- Key:公開鍵ファイルの中身をそのまま入力(例:ssh-ed25519 ********** github-ssh-key)
入力したら「Add SSH key」をクリックします。
SSH Keysのリストに今回登録した公開鍵が表示されていれば設定完了です。
では認証設定が無事完了したのでもう一度プッシュコマンドを実行してみましょう。
$ git push -u origin main
以下のメッセージが表示されればリモートリポジトリへのプッシュ成功です。
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 220 bytes | 220.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:takkin-takilog/push-test.git
* [new branch] main -> main
Branch 'main' set up to track remote branch 'main' from 'origin'.
ブラウザを開いてGithubのページも確認してみましょう。
下記のようにREADME.mdファイルの追加と「first commit」というコメントでコミットが追加されているはずです。
Eclipse上でプッシュ動作の確認
さてコマンドラインからのプッシュが確認できたので次はEclipse上でもプッシュできるか確認してみましょう。
まずはEclipseに「push-test」ローカルリポジトリを追加しましょう。
Eclipseを立ち上げて「Git」パースペクティブを開き、「既存のローカルGitリポジトリーを追加」をクリックします。
Gitリポジトリー追加の画面が開くので「push-test」のローカルリポジトリを選択して「追加」をクリックします。
これでEclipseに「push-test」ローカルリポジトリが追加されます。
次はプッシュするためにREADME.mdファイルを修正します。
「作業ツリー」を開いてREADME.mdを選択して右クリック→「エディターで開く」をクリックします。
するとエディターが開くので何か1文追記します。
ここでは「eclupseでpushするテスト」を追記して保存して閉じます。
次は修正されたREADME.mdファイルをステージしていきます。
下図のように「Gitステージング」を選択し、リフレッシュボタンを押すと「ステージされていない変更」にREADME.mdファイルが出てきます。
念のためREADME.mdファイルをダブルクリックして変更前後の差分を確認しておきましょう。
上記画面の右下に[ユーザ名]<メールアドレス>と書かれていますが、git初期設定コマンドで登録したユーザ名とメールアドレスがここに表示されます。
<git初期設定コマンド>
$ git config –global user.name [ユーザ名]
$ git config –global user.email [メールアドレス]
ではREADME.mdファイルをステージしていきます。
「ステージされていない変更」にあるREADME.mdファイルを選択して「+」ボタンをクリックすると「ステージされた変更」にREADME.mdファイルが移ります。
これでステージは完了です。
次はコミット&プッシュを同時にやっていきましょう。
Eclipseにはコミット&プッシュを同時に実行できるボタンがあるのでそれを使います。
まずはコミット・メッセージに任意のコメントを入力しましょう。
ここでは「eclipseでREADME.md追記」と入力します。
そしたらあとは「コミットおよびプッシュ」ボタンを押せばコミット&プッシュが完了します。
下記の画面が表示されたらプッシュ成功です!
Githubにもちゃんと反映されているか確認しましょう。
ちゃんと反映されていますね!
コメント