また,本記事はプログラミング記事シリーズの内容になります。その他の記事は,こちらの「プログラミング記事まとめページ」をご覧ください。
読みたい場所へジャンプ!
環境
●Ubuntu 16.04
●Git 2.7.4
インストール
$ sudo apt install git
Ubuntu14.04以降ではapt-getではなくaptが推奨されていますので,aptを使用してgitをインストールします。sudo権限なので初回はパスワードが要求されます。容量の確認もされますが,Yを入力しましょう。処理が終わった後に「git」と叩いて色々出てくればインストール成功です。
初期設定
$ git config --global user.name "[ユーザ名]"
$ git config --global user.email "[メールアドレス]"
ユーザ名とメールアドレスを登録します。
使い方
【大まかな使い方】
●対象のリポジトリを作成&初期化(init)
●ローカルインデックスに追加(add)
●ローカルリポジトリに登録(commit)
(●リモートリポジトリの名付け(remote add))
●リモートリポジトリに送信(push)
まず,リポジトリというのは大まかに「ファイル置き場」のことを指します。ローカルインデックスというのは,これから登録しようとしているファイルの集まりです。ローカルリポジトリというのは,自分のパソコン上のファイル置き場のことを指します。リモートリポジトリというのは,ネットワーク上の共有場所のことを指します。
よく聞く「GitHub」というのは,このリモートリポジトリを人間に分かりやすい形で視覚化して便利に操ることができるシステムのことを指します。GitHubがなくてもGitによる管理をすることはできますが,GitHubを使えばより便利な形でリモートリポジトリを活用することができます。
今回は,GitHubの登録手順は省略します。ここからは,GitHubのアカウント作成が済んでいるという前提でお話を進めていきます。今回はローカルで作成したファイルをリモートディレクトリに移すという場面を考えていきたいと思います。そのためには,リモートディレクトリをGitHub上のGUIで作成しておく必要があります。その手順も省略させていただきます。
話を元に戻すと,なにかGitで管理したいファイルがあったとき,最初にそのファイル自身を登録予備軍の仲間に追加します。続いて,自分のパソコン上のファイル置き場に登録します。最後に,共有置き場に送信すればOKということになります。
少し手順がややこしいと感じる人が多いと思いますが,最初はとにかく手を動かしてみて感覚をつかむことが大切だと思います。
対象のリポジトリを作成&初期化(init)
$ git init
現在自分がいる場所をGitの管理下に置くために初期化します。ここで「.git」というファイルが作成されます。「.git」には今いるディレクトリをGitで管理するための諸々が入っています。さて,ここでは現在いるディレクトリに存在する「sample.txt」をGitに登録したいとします。
ローカルインデックスに追加(add)
$ git add sample.txt
これで,sample.txtが.git内に含まれるインデックスに追加されたことになります。ちなみに,ここでaddされているファイルを確認したい場合は以下のコマンドを叩きましょう。
$ git status
ローカルリポジトリに登録(commit)
$ git commit -m "Initial Commit"
これで,インデックスに登録されているファイルがローカルリポジトリに登録されたことになります。-mというオプションはコミットに付けるコメントのことを指しています。コメントは必須ですので,オプションをつけなくても「コメントを付けなさい」とエラーで怒られて強制的にコメントを付けさせられます。
ここでGitHub上で新しいレポジトリを作成してください。
後のリモートレポジトリになります。
GUI上の操作ですので簡単に進めることができます。
名前は先ほどの管理したいディレクトリ名にしておきましょう。
リモートリポジトリの名付け(remote add)
$ git remote add origin https://github.com/[ユーザ名]/[Gitで管理しているディレクトリ名].git
これで,直前で作成したリモートリポジトリに「origin」という名前が付けられました。最初にoriginと名前を付けるのは慣習です。ユーザ名とGitで管理しているディレクトリ名はご自身の環境を利用してください。
リモートリポジトリに送信(push)
$ git push -u origin master
これで,ようやくGitHub上にローカルのファイルが送信されました。-uのオプションは,次回から「origin master」を指定しなくても勝手にorigin masterを指定してくれますよというオプションです。なくても大丈夫です。