LoginSignup
2
1

More than 5 years have passed since last update.

Gitのすすめ with GitHub

Last updated at Posted at 2018-06-24

Gitのすすめ

こんにちは。
新卒マイナス一年目エンジニアの和尚です。

今回はプログラマーにとって切っても切り離せないGitについての記事を簡単に書いていこうと思います。

Gitとは

(日本語訳)Gitは、小規模から大規模なプロジェクトまで、あらゆる処理を高速かつ効率的に処理できるように設計された、 フリーでオープンソースの分散バージョン管理システムです。git公式サイトより

開発を始めたばかりの人には、ピンとこないかもしれません。
GitGitHubを聞いたことあるけど、なんだかわからない...
そんな人たちを対象に記事を書いていこうと思います。

Gitとはゲームに例えるとセーブデータのようなものなのですが、ただのセーブデータではなく、

  • セーブした点に戻れる(前回のセーブ地点だけではなく、セーブしたところならどこでも)。
  • セーブデータを分割できる。
  • セーブデータを共有できる。

などなど、大まかにまとめるとこんな感じです。(詳しい人からすると怒鳴られそうな例ですね...)
こうして並べるとチートツールみたい!!

Gitを知る前の開発初心者だった一年前の僕は、こんな便利なものがあるとは知らず、作ったものを定期的にコピーしてzipファイルにまとめてバージョン管理をするという、今思うとだいぶ恥ずかしいことをしていました...

とにかく触って便利さを実感して見ましょう!!

まずはGitをインストールする

Gitをインストールする方法はいくつかあり、公式サイトによるとソースからインストールすることが推奨されています。
最新のGitを使用したい場合はソースからインストールするようにしましょう。

windows

windows用ダウンロードファイル

mac

Mac用ダウンロードファイル

もしくは、Homebrewからインストールする。

$ brew install git

Linux

Gitはcurl、zlib、openssl、expat、libiconvに依存しているので、導入しているパッケージ管理ソフトもインストールしてください。

yumの方

$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
$ yum install git

apt-getの方

$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
$ apt-get install git

Gitを使用する前の事前準備

gitに登録する

Gitを導入したら、まずユーザー名とメールアドレスを設定します。

$ git config --global user.name "あなたの名前"
$ git config --global user.email あなたのメアド

その他、エディターやdiffツールなども$ git config ~で設定できます。
詳しくは公式サイトや$ git help congigを参考にしましょう。

Gitに触ってみる

一通り準備が終わったので、Gitを使っていきましょう。
Gitリポジトリを取得するには

1.作業ディレクトリを作成する

$ mkdir gittest
$ cd gittest
$ touch index.html //空なので適当にhtmlファイルを作成

2.Gitローカルリポジトリの作成

1.でGitで管理するテストディレクトリを作成しました。これらをローカルで管理できるようにしていきます。

1.Gitリポジトリに必要なファイルの作成

$ git init

スクリーンショット 2018-06-24 21.22.19.png

  • $git initをすることで.gitディレクトリが作成され、その中に必要なファイルが格納されます。

2.指定したファイルをGitの管理対象に入れる

$ git add [追加したいファイル]

スクリーンショット 2018-06-24 21.23.49.png

  • $ git add [file name]をすることで、Gitの管理対象に入れることができます。
  • 作業ディレクトリ内のファイル全てを追加したい場合は$ git add .にすることで、全ファイルを管理対象にすることができます。

3. ファイルの変更を保存する。

$ git commit -m "保存時コメント"

スクリーンショット 2018-06-24 21.23.27.png

  • $git add [file name]で追加したディレクトリやファイルを保存する為に$ git commitをします。
  • オプション-mはメッセージを書く場合に使用するオプションです。

4. commitを確認する。

$ git log

スクリーンショット 2018-06-24 21.30.59.png

上記のコマンドを打つことで、コミット一覧が見ることができます。

$ git show

上記のコマンドで、より詳細な情報を確認することができます。

5. 前回のコミットまで戻す(ロールバック)

失敗して前回コミットした時点まで戻りたい時のやり方を見ていきましょう。
一番最新でコミットしたのが上の画像のコメントでいうところの、second commitだとして、first commitに戻してみましょう。
使用するものは上の黄色のコミットidです。

$ git reset --hard c17eb1355c1d9f239920348020351d20e4c198db
  • git reset --hard [コミットid]とすることで、コミットidで指定したコミット時点まで戻ることができます。
  • オプション--hardについて知りたい人は各自調べてください。

実際に作業しているファイルなどを見て、戻りたいコミット時まで戻れたかを確認してみましょう。

以上がGitの最低限の知識になります。

Githubを使ってリモートリポジトリを使用する。

これまで、自分のPC上でGitを管理する方法を見てきました。
ここからはGitHubを使って、サーバー上にコミットした情報を送る作業を覚えていきましょう。

リモートリポジトリを使用することで、共同開発やソースコードの共有などを行うことができます。

GitHub以外にも、GitLabbitbucketなどのサービスがあり、自分にあった管理サービスを使用しましょう。
今回はGitHubを使用していきます。

GitHubに登録する

とにもかくにもGitHubに登録しないことには始まりません。
GitHub登録ページ

1.情報を入力

スクリーンショット 2018-06-24 21.52.10.png

2.freeプランを選択しる

※月に7$掛かる有料プランもあります。

3. 質問に答える

Q1. プログラミングレベル
Q2. GitHubの使用目的
Q3. あなたの立場
Q4. 興味のある分野

4.メールを確認する

5.SSH keyの登録をする。

  1. PC上で$ ssh-keygen -t rsaと打つ。
  2. Enterを押す。
  3. パスワードと確認用パスワードを打つ。
  4. $ cat .ssh/id_rsa.pubを打って、公開鍵をコピーする。
  5. GitHub→Settings→SSH and GPG keys→New SSH keyをクリック。
  6. titleとコピーした公開鍵をペーストしてAdd SSH keyをクリック。
  7. スクリーンショット 2018-06-24 22.16.11.png

スクリーンショット 2018-06-24 22.18.47.png

スクリーンショット 2018-06-24 22.16.00.png

ここまで終わったら、GitHubに登録完了&設定完了です。

リモートリポジトリの作成

1.New repositoryボタンを押す

スクリーンショット 2018-06-24 22.00.13.png

2.リポジトリ名を入力する。

スクリーンショット 2018-06-24 22.00.33.png

  • 説明は任意です。
  • Privateリポジトリ(非公開)を作成するには、有料プランに加入しましょう。(もしくは学生プランに加入する:無料)
  • とりあえずは、チェックボックス.gitignoreライセンスは変更なしで大丈夫です。

3.Create repositoryボタンを押す

ローカルリポジトリとリモートリポジトリを繋げる。

PC上で$git init〜をやったことにより、ローカルリポジトリが作成され、GitHub上でCreate repositoryをしたことによりリモートリポジトリが作成されました。

これらを接続してみましょう。

一番簡単なのはコピー&ペースト

スクリーンショット 2018-06-24 22.21.30.png

  • 赤く囲ったところを押すと左側のコマンドが全てコピーされるので、先ほど作ったローカルリポジトリ内でペーストすれば、簡単に接続できます。
  • パスワードを要求されるので、公開鍵を使用した時に打ち込んだパスワードを入力します。

コピーした内容を一行ずつ見ていく

1.README
$ echo "# test" >> README.md

まずこのコードですが、見たまんまREADME.mdファイルを作成し、#testという文を記入しています。

このREADME.mdファイルですが、リポジトリの説明書になっていて、マークダウン方式で記入します。

2.git init
$ git init

先ほど書いたのを覚えているかと思います。リポジトリに必要なファイルの作成をします。
※この記事を流れでやっている人は既に作成しています。

3. git add
$ git add README.md

README.md(説明書)を監視対象に追加しています。

4. git commit
$ git commit -m "first commit"

説明書のコミットです。

5. git remote
$ git remote add origin git@github.com:osyou-create/test.git

ここがローカルブランチとリモートブランチを繋げるコードになります。
originとはリポジトリの別名です。
要するにoriginという名前でgit@github.com:osyou-create/test.gitを登録するということです。

これで、ローカルリポジトリと作成したリモートリポジトリが繋がったのでコミット(ローカル保存)をリモートリポジトリにプッシュ(サーバーへ保存)していきましょう。

6. git push
$ git push -u origin master
  • push … リモートリポジトリに反映&保存させる。
  • origin … 送り先リポジトリ(この記事でいうところのgit@github.com:osyou-create/test.git)
  • master … ブランチ(保存先)。
  • -u …次回以降$ git pushのみでorigin masterにプッシュしてくれる。

開発初心者の僕はとりあえず、masterブランチとdevelopブランチ二つに分けて開発していますが、Gitに慣れたらA successful Git branching modelを参考にブランチを作って開発をしていきましょう。

最後に

ここまで書いたのは最低限のGitの知識なので、自分で調べて使いこなせるよう頑張ってください。

とりあえず慣れるまでは、masterブランチのみで開発をしていき、慣れたらすぐにブランチについて調べてmergecheckoutなど勉強しましょう。

souceTreeなどのGitクライアントを使用するとGitがもっと簡単に使えるようになるでしょう。

参考資料

Git公式サイト(日本語ドキュメント)

2
1
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
2
1