GitやGitHubって機能が多そうで、何から勉強したら良いかわからない…そんなお悩みありませんか?
実は押さえておくべき機能はそんなに多くないので、悩む前に学習を進めることをおすすめします!
この記事では、実際の作業画面とともに、まず覚えるべきリポジトリの作成方法や運用方法について解説していきます。
記事を読み進めながら、実際に一緒に作業してみてください。
記事を読み終えると、リポジトリの基本の運用方法が身につくので、今後のGitHubの利用に役に立つはずです!
GitHubのリポジトリとは?
英語でrepositoryといい、「貯蔵庫」「収納庫」などと訳されます。
GitHubにおいてはその名の通り、ファイルやディレクトリの状態を記録(保管)する場所のことを指します。
リモートリポジトリとローカルリポジトリの違い
リポジトリには、ローカルリポジトリとリモートリポジトリの2種類が存在します。
ローカルリポジトリとは自身のPC上に、リモートリポジトリとは専用サーバーに配置するリポジトリを指します。
ローカルリポジトリで作成したコードを、リモートリポジトリにて公開することで、他の開発者とコードを共有する…というのが基本的な流れになります。
リポジトリの作成方法
さっそくリポジトリの作成方法を見ていきましょう!
なお、この記事ではコマンドラインによる操作方法を解説しています。
Windowsの場合はコマンドプロンプト、Macの場合ターミナルという、いわゆる「黒い画面」を使います。
コマンド?黒い画面?なんか怖そう…という初心者の方も大丈夫!
慣れるのに少々時間がかかるかもしれませんが、これを機に触ってみてください!
ローカルリポジトリ
まずは黒い画面を開きます。
黒い画面がどこにあるか分からないときは、次の方法で探して開きましょう。
- ■ Windowsの場合:スタートボタン右側の検索バーに「コマンドプロンプト」と入力
- ■ Macの場合: Spotlight(⌘ + スペース)で「ターミナル」と入力
黒い画面が開いたら、次の4つのコマンドを入力します。
1行書いたらエンターボタンを押して実行してください。
$ cd desktop
$ mkdir test
$ cd test
$ git init
実際の画面はこちら。
上から順番に意味を説明します。
cd desktop
cdは”change directory”の略で、ディレクトリを移動するコマンドです。コマンドに続いて、新規ディレクトリを作成したい場所を指定します。
今回は”desktop”としてデスクトップを指定しましたが、お好きな場所でOKです。
mkdir test
mkdirは”make directory”の略で、ディレクトリを作成するコマンド。コマンドの後に続いて、ディレクトリ名を入力します。今回は”test”としました。
cd test
続いてまたcdが出てきます。先程作成した”test”に移動してね、ということですね。
git init
そして最後にgit initを実行します。initとは”initialize”の略で、Gitについて初期化しますよ、という指示になります。
つまり、今いるディレクトリがGitで管理できるようになるのです。
これでローカルの準備が整いました。
リモートリポジトリ
GitHubにログインしたら、トップページ左側の”Create repository”もしくは右上の+ボタンから”New repository”をクリックします。
※アカウント作成がまだな方はこちらの記事を参考にしてみてください!
するとこのような画面が出るので、必要事項を入力or選択していきます。
1. リポジトリ名
“Repository name”に半角英数字でリポジトリ名を入力します。プロジェクト名などリポジトリの中身がわかるような名前にすると良いでしょう。
今回は”test”としました。ローカルで作成したディレクトリ名と同じにしましたが、別名でも大丈夫です。
なお、同じアカウントで一度作成した名前は使用できません。(作成されてても、削除済みなら使用できます。)
必要に応じて“Description”に説明書きを書きます。詳細はREAD MEに書くので、ここでは簡易的なもので構いません。
2. Public / Privateの選択
どの範囲に公開するかを選択します。
Publicなら誰でもリポジトリを見ることができ、Privateでは特定のユーザーを招待することで共有できます。
練習として自分で使うだけならどちらを選択しても構いませんが、実務では気をつけて選択しましょう。
3. その他
必要に応じてチェックを入れていきます。後で変更することもできるので、空でOKです。
- ・READ MEファイルの追加
- ・Gitで管理しないファイルの追加
- ・ライセンスの選択
ここまできたら、一番下の”Create repository”をクリックしましょう。
するとこのような画面に移るので、Quick setupに表示されるURLをコピーしておきます。
このURLの使い方は後ほど説明します。
ローカルリポジトリからリモートリポジトリへ反映させる
GitHubの使用環境が整ったので、実際に適当なファイルを作成してコミットからプッシュまでやってみましょう!
まずはプッシュ先のリモートリポジトリを指定するのに、次のコマンドを実行します。<URL>には先程コピーしたURLを貼り付けます。
$ git remote add origin <URL>
今回は「test」フォルダの中に、「test-file.txt」というテキストファイルを用意しました。これをリモートリポジトリへプッシュしてみます。
commit(コミット)
このテキストファイルは今、ワークツリーという場所にあるので、まずはローカルリポジトリまで移動させる作業をしていきましょう。
必要なコマンドは次の二つです。
$ git add <ファイル名>
$ git commit -m “コメント"
1つ目のコマンドでワークツリーからインデックスへ、2つ目でローカルリポジトリへ移動します。
今回はこのように入力しました。
$ git add test-file
$ git commit -m “1st commit"
“git commit -m”の後ろに入れるコメントは、変更箇所を簡単に説明しておくと良いでしょう。日本語でもOKです。
$ git add .
ちなみにaddの後にスペース+ピリオドとすると、ディレクトリ内の全てのファイルをステージングすることができます。
ここまでの作業で、ローカルリポジトリにファイルが移動されました。
push(プッシュ)
これでプッシュする準備が整ったので、次のコマンドを実行しましょう。
$ git push origin master
GitHubのページを更新して、次のような画面に移っていたらプッシュ成功です!
コミット時のコメントも確認できますね。
これで、他のユーザーにコード等のファイルと、変更履歴を共有することができました。
リモートリポジトリの情報をローカルリポジトリへ取得する
続いて、他の開発者がアップロードした情報を取得する方法を解説します。
まずはclone(クローン)とpull(プル)の違いについて。
クローンとは、リモートリポジトリそのものをローカルにコピーすることで、各リポジトリに対しクローン操作は基本はじめの1回のみです。
一方プルとは更新されたファイルのみをコピーすることで、クローンとは異なり複数回発生します。プルを行うには先にリポジトリをクローンしておくことが必要です。
それでは実際にやってみましょう!
clone(クローン)
今回は一人疑似チームを作って、クローンを行ってみます。
疑似チームといっても複数アカウントを作ったり、複数PCを用意する必要はありません。
前の章でプッシュしたファイルを、別の新規ディレクトリにクローンしてみます。
まずはGitHubの”test”リポジトリのページを開き、“Code”と書かれた緑色のボタンをクリックすると現れる、URLをコピーしておきます。
続いて新規ディレクトリを準備します。デスクトップに”clone-test”というディレクトリを作成し、その中へ移動します。
$ cd desktop
$ mkdir clone-test
$ cd clone-test
次のコマンドの<URL>に、先程コピーしたリポジトリのURLを貼り付けて実行します。
$ git clone <URL>
すると、無事”test”フォルダがコピーされたことが確認できました。
実務では他のユーザーのリポジトリをクローンする場面が多いかと思いますが、やり方は同じです。
ところで少々戻ってリポジトリページを見ると、”Download ZIP”というのがありますよね。
これでもファイルをダウンロードして閲覧すること可能です。しかしリポジトリと紐付けがないため、コミット履歴までコピーしてくることができない…といった違いがあります。
コードを見るだけなら良いですが、実際にリポジトリを運用していくならクローンを使うことになるでしょう。
pull(プル)
$ cd clone-test
$ cd test
プルの操作は至って簡単、黒い画面で対象ディレクトリ(今回の場合はclone-test>test)に移動したら、
$ git pull origin master
を実行するだけ。
他のユーザーと開発を進める際はプッシュ・プルを繰り返していくので、ぜひ覚えておきましょう。
リポジトリの公開状況変更
リモートリポジトリ作成時にPublic / Privateを選択しましたが、これはいつでも変更可能です。
ログイン状態で GitHubトップページを開くと、左側に作成したリポジトリが並んでいるので、
変更したいリポジトリを選択して、”Settings”をクリック。
移動先のページの一番下に、Danger Zoneがあります。何やら恐ろしげですね…!
この中に公開状況を変更する”Change visibility”のボタンがあるので、クリックします。
するとポップアップ画面が表示されます。
パブリック→プライベートの変更の場合は、次のような画面に。
“Make private”にチェックを入れると、スターやウォッチャーなど、パブリック機能が使えなくなるよ〜と注意書きがあります。
プライベート→パブリックの変更では次のような画面です。
コードが誰でも見られるようになるし、誰でもリポジトリのフォークができるようになるよ!とのことです。
問題なければ下部に表示される、<ユーザー名>/<リポジトリ名>を入力し、”I understand, …”をクリックしてください。
その後、 GitHubアカウントのパスワードを求められることがあるので、指示に従いましょう。
これで公開状況の切り替えが完了しました。
リポジトリ名の変更方法
Settingsの画面にRepository nameという部分があるので、新しいリポジトリ名を入力したら”Rename”をクリックします。
これだけだとローカルとの紐付けが途切れてしまうので、黒い画面でURLの再設定が必要です。
次を実行して、新しいURLを設定しましょう。
$ git remote set-url origin <new URL>
リポジトリの削除方法
削除もSettings画面を開きます。
Danger Zoneにある”Delete this repository”をクリックすると、
このような画面が表示されます。
削除してしまうと元に戻せないことや、リポジトリやコメントなどが全て消えちゃうよ!ということが書かれています。
<ユーザー名>/<リポジトリ名>を入力して、”I understand, …”をクリックしたら削除完了です。
まとめ
リポジトリの作成方法から、プッシュ・プルなどの運用方法までご紹介しました。
練習段階では何をやらかしても誰にも迷惑はかかりませんので、自分のリポジトリを作成して、色々と試してみることをおすすめします!
GitとGitHubにはその他にもブランチなど、いくつか覚えておきたい機能があります。今後も紹介していきますので、ひとつずつ覚えていってくださいね!
出てきた用語をおさらいしたい方は、こちらの記事も覗いてみてください!
とはいえやっぱり難しそう…と思う初学者の方がほとんどだと思います。Gitはコマンド操作で解説している記事が多いため、まずはGUI(マウス操作)で扱うところから始めてみるのはどうでしょうか?
GitHub DesktopはGit公式の無料ツールで、OSやエディタ問わず扱えるためオススメです!
コードエディタがVScodeの方は拡張機能で対応することも可能です!
操作に慣れてきた方はこちらの記事を参考にして静的ページをWeb上に公開してみるなど、色々と試してみるとGitの面白さが分かるかも!