Git超入門
日時:2018/11/26(月)10:40-
場所:お茶大椎尾研
はじめに
Git超入門をして欲しい!との希望がありましたので,今回はBitbucketを使ったGit超入門をお話したいと思います.
Gitについて
Gitは,プログラムのソースコード等の変更履歴を記録・追跡するための分散型バージョン管理システムです
Gitを使用するメリット
最新バージョンのファイルが直ぐにわかる
状態を元に戻せる(改変してたら動かなくなった/必要なファイルをうっかり消してしまっても大丈夫!)
Gitの作業の流れ
ローカルリポジトリ(自分のPC)から,リモートリポジトリ(今回はBitbucketの中に設定する)にソースコードを置くイメージ
https://gyazo.com/a6890aea66ff207dcf71f4a673639b2d
Gitの使い方
MacはGitが標準搭載されています.(Winの人は上記URLからダウンロードしてください)
https://gyazo.com/7c1baf11e9c8d76079879c8704f04f1f
Gitが使えるように初期設定しましょう
GitをGUIクライアントで使いたい場合は何を使うと良いですか?
SourceTreeなどのGUIクライアントを用いてGitを使うことも出来ます.(会社員時代はSourceTreeを使っていました) コミットログをビジュアルに追えるので分かりやすい利点があります.
個人的には,(何だかんだ言って)CUIが一番使いやすいので今回はCUIを使って説明します.
1人のプロジェクトでソースを管理する時に押さえておきたいポイント
ブランチでフォルダを管理しよう
ブランチ「枝」という意味で、作業内容を枝分かれさせて複数の作業を並行して進めること
デモ用/実験用等でブランチを切り替えることができる
ひとつのフォルダで管理する作業環境で,複数の作業を並行して行うことが出来ます.https://gyazo.com/8244b37b381fa9606c65b884bdedd52c
HEAD
HEADがある部分が現在の作業対象
origin master
branch
Gitのコマンドについて教えて下さい!
git clone http://hogehoge...
git init
Gitを使います宣言のコマンド..git フォルダが作成される
git commit -m "1st commit hogehoge"
コメント付きでコミットする
git add *
管理対象(ステージングエリア)に追加する
git push
管理対象(ステージングエリア)の内容をリモートのリポジトリ(Bitbucket内の指定したリポジトリ)に送り込む
git pull
リモートのリポジトリ(Bitbucket内の指定したリポジトリ)の内容をローカルリポジトリに落としてくる
git remote add origin http://hogehoge...
ローカルでリポジトリを作成していて,共有リポジトリからクローン(clone)していない場合は,ローカルのリポジトリをこのコマンドで登録することが出来る
git status
ファイルの状態を確認する
ここでgit checkout -- ファイル名 とすると変更前に戻すことが出来る
git diff
ステージングエリアに上げる前に差分を確認する
git log
コミットログを確認する
git fetch
リモートからデータを取って来るだけ.(取ってくるだけで、それ以外は何もしない)
Bitbucketについて
Bitbucketは、ソフトウェアのバージョン管理&共有サイト(リモートリポジトリをホスティングしてくれるサービス)です Githubのprivate repositoryは有料に対し,Bitbucketは無料なのでBitbucketを使用します.
個人や少人数(5人まで)でシステムを作りたい,けどソースコードは外部に公開したくないし,お金もかけたくないって方にオススメのサービスです
ちなみに,BitbucketもSourceTreeもAtlassian社が提供しているので相性が良いです
余談:今すぐダサいターミナルから卒業しよう!
私のターミナルはzshを採用しています
zshのメリットは以下の通り
見やすいプロンプト
かっこいい補完機能あり
コマンドに色付け可能
参考書籍・サイト
Gitがおもしろいほどわかる基本の使い方33, 大串肇, 久保靖資, 富沢泰尚(2015)