LoginSignup
4
2

More than 3 years have passed since last update.

自分のためのGitHubあれこれ

Last updated at Posted at 2019-10-14

はじめに

GitやGitHubについて説明したWebページはネット上に無限にありますね。ですが、どのサイトを見ても詰まってしまうという方はいることでしょう。私もそうでした。
最近ようやくそれなりにGitやGitHubを使えるようになったので、流れを忘れないように残しておくことにしました。

今回は以下の目的を達成し、とりあえず使えるようになることを目指しましょう。
1. GitとGitHubの違い
2. GitHubのアカウント作成
3. ssh鍵の登録
4. Gitの設定
5. 自分のPCからGitHubにコードをあげる
6. GitHubから自分のPCにコードをもらう

ここまでです。マージとかフェッチとか聞いたことはあるかもしれんみたいなやつは、次回があれば書きたいと思います。

GitとGitHubの違い

まずはGitとGitHubの違いについて知りましょう。探せばどこにでも詳しくまとまってると思うので、ここでは簡単にそれぞれの役割を。

- Gitはソースコードのバージョン管理
- GitHubはインターネット上でのソースコードの共有

すごく簡単に言うとこんな感じです。基本用語についても軽く解説します。
- リポジトリ:ファイルが入っているディレクトリのようなもの
- ローカルリポジトリ:自分のPC上にある、Gitで管理しているリポジトリ
- リモートリポジトリ:GitHub上にあるリポジトリ
- コミット:変更した内容のセーブ
- プッシュ:セーブ内容をリモートリポジトリに送ること
- クローン:リモートリポジトリをローカルにコピーすること

GitHubのアカウント作成

それでは始めていきましょう。まずこちらのGitHubの公式サイトに従ってアカウントを作成してください。

以上です。簡単ですね。
無料アカウントではファイルが全て公開になりますが、有料アカウントであればprivateファイルとすることができます。また学生であれば、申請すればprivateファイルを作成することができます。

ssh鍵の登録

ssh鍵の作成と登録をします。GitHubではssh鍵を登録することで本人認証を行います。
おそらくこの辺りで何が何だかわからないよとなってしまう人が多いのではないでしょうか?
わかりますわかります。ssh鍵については全然書いていないページなども多くありますからね。ここは丁寧に見ていきましょう。

まずssh鍵を登録するディレクトリ(.ssh)に移動します。

$ cd ~/.ssh

もし無ければ作成した上で移動します。

$ mkdir ~/.ssh
$ cd ~/.ssh

ssh認証を行うための公開鍵と秘密鍵のペアを作ります。

$ ssh-keygen

すると

Enter file in which to save the key:

と聞かれるので好きなファイル名を指定します。(例:github_rsa)

Enter passphrase (empty for no passphrase):

上のように聞かれたら何も入力せずにエンターを押してしまって大丈夫です。
これで公開鍵(<ファイル名>.pub)と秘密鍵(<ファイル名>)が作成されました。ここからは公開鍵(github_rsa.pub)、秘密鍵(github_rsa)として説明します。

ここから鍵の登録に入ります。ssh-addによって秘密鍵を登録します。

$ ssh-add github_rsa

次に公開鍵の中身を表示し、コピーします。

$ cat github_rsa.pub

表示された内容を、ssh-rsaの部分も含めた全てをコピーします。

GitHubの設定画面(https://github.com/settings/keys )を開き、New SSH Keyをクリックします。
コピーした内容をKey欄に貼り付けます。Title欄には適当な名前をつけ、Add SSH keyをクリックします。

terminalに戻り、

$ ssh git@github.com

と入力します。
すると、

Are you sure you want to connect

と表示されると思うので、yesと入力してください。
そのあとに

Hi <ユーザ名>! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

と表示されれば成功です。

Gitの設定

Gitが入っていない場合は

$ sudo apt-get install git-all

でインストールすることができます。

次にGitのユーザ名とメールアドレスを設定します。こちらはGitHubと同じものを設定します。

$ git config --global user.name ユーザ名
$ git config --global user.email メールアドレス

以下のようにコマンドを打つと設定を確認することができます。

$ git config --global user.name
$ git config --global user.email

自分のPCからGitHubにコードをあげる

ローカルリポジトリからリモートリポジトリへのプッシュです。

GitHub上でのリモートリポジトリの作成

GitHubで自分のアカウントページを開き、右上にある+をクリックし、そこからNew repositoryを選択します。
そしてRepository nameを付け、Public/Privateを選択し、Initialize this repository with a READMEにはチェックを付けず、Create rpositoryをクリックする。これだけです。

すると作成されたリポジトリページに、

git remote add origin https://github.com/ユーザ名/リポジトリ名
git push -u origin master

のような記述が見つかりますので、この2行をコピーしておきます。

PC上でのローカルリポジトリの作成

GitHubに挙げたいディレクトリに移動します。
そこで以下のコマンドを打つことで、今いるディレクトリをローカルリポジトリにします。

$ git init

以下のコマンドで.gitというディレクトリが作られているかを確認します。

$ ls -a

ディレクトリにあるファイル情報をgitに加え、コミットしていきます。

$ git add .
$ git commit -m "Initial commit"

git addはGitで管理するファイルを選ぶコマンドです。.は現在いるディレクトリの全てのファイルということです。.の代わりにファイル名を入力することで、そのファイルだけGit管理することもできます。
git commitaddしたファイルをコミットするコマンドです。" "の間にはコミットする際のコメントを書きます。

次に上でコピーした

git remote add origin https://github.com/ユーザ名/リポジトリ名
git push -u origin master

を打ち込むのですが、このままではなくhttps://github.com/git@github.com:に変更します。

$ git remote add origin git@github.com:ユーザ名/リポジトリ名
$ git push -u origin master

これでssh通信を行うことができるようになりました。
また、これでローカルリポジトリの内容がリモートリポジトリにコピーされます。リポジトリページのCodeタブから確認してみてください。

GitHubから自分のPCにコードをおとす

リモートリポジトリからローカルリポジトリへのクローンです。
リモートリポジトリをクローンするディレクトリに移動し、以下のコマンドを打ちます。

$ git clone git@github.com:ユーザ名/リポジトリ名

おわりに

今回はGitHubに登録し、リポジトリを作成し、sshで通信できるようにするまでを行いました。GitやGitHubにはまだまだ機能がたくさんあります。色々使っていく中で試してみてください!
また、新しいツールを使う中で絶対に知らないエラーが出てくることはあると思います。そんな時はエラー文をそのままコピーして検索してみましょう。GitHubなどの有名なツールであれば、ほぼほぼ解決策が見つかります。
システムエンジニアとして働く人にとっては大切なツールだと思うので、ぜひ使いこなしてください!

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2