こんにちは,米国データサイエンティストのかめ(@usdatascientist)です
前回はGithubとGitの違いについて述べ,Githubに登録して,リモートリポを作るところまでやりましたね.(Git動画講座はこちら)
本記事では,gitをインストールしてロカールリポを作ろうと思います!
なお,本ブログではmacを使用することを推奨しているので,macを前提に話を進めています.
目次
gitインストール
gitの操作は基本Terminalを使って操作します. Terminalを開いて
1 |
$ git --version |
と打ってみましょう(‘$’は打たなくていいですよ.’$’は「Terminalのコマンド」という意味ですので.)正しくgitのversionがでてきたひとはもうすでにgitが入っています!
なお,まだmacの標準Terminalを使っている人,今から1時間使ってiTerm2というアプリをいれて,それを使うようにしましょう!
versionが出てこなかった人はgitをinstallします.
こちらからダウンロードしてください.
ダウンロードしたらもう一度Terminalで
1 |
$ git --version |
と打ってきちんとVersionが表示されることを確認しましょう.
リモートリポをcloneする
前回の記事でリモートリポを作成しました.そのリポを自分のパソコンに同じものを作ります.そのリポのことをローカルリポと呼びますが,この行為をリポをクローン(clone)すると言います.
それでは,前回作成したmy-first-repoをcloneしてみましょう!(まだ作ってないという人はこちらの記事を参考にして作ってみてくださいね!)
まず,リポのページを開きます.リポのURLはhttps://github.com/{username}/{reponame}でアクセスできます.私の場合だとhttps://github.com/usdatascientist/my-first-repoです.
追記:2021年8月13日以降,httpsでの認証ができなくなるようです.その場合他の認証方法を使う必要があります.SSH設定の仕方を記事にしたのでこちらを参考にしてください.
Clone or downloadボタンをクリックし,コピーアイコンをクリックしてURLをコピーします.
そしたらTerminal(iTerm2)を開き,cloneしたいフォルダに移動してcloneするだけです!
ここではDesktopの中でcloneします.
1 2 |
$ cd ~/Desktop $ git clone https://github.com/usdatascientist/my-first-repo |
最初のコマンドは ~/Desktop に移動するコマンドで, $ cd は Current Directoryの略です. ~ はHome Directoryのalias(ショートカットのようなもの)で,/Users/{USERNAME}/を示します.
二つ目のコマンドはcloneするときのコマンドで
1 |
$ git clone {コピーしたリモートリポのURL} |
となります.
cloneすると
1 2 3 4 5 6 |
:$ git clone https://github.com/usdatascientist/my-first-repo Cloning into 'my-first-repo'... remote: Enumerating objects: 3, done. remote: Counting objects: 100% (3/3), done. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), done. |
こんな感じで,無事cloneできてると思います.
$ ls コマンドでちゃんとcloneできてるか確認しましょう.(フォルダ内のファイルやフォルダを一覧表示)
1 2 |
$ ls my-first-repo |
1 2 3 |
$ cd my-first-repo $ ls README.md |
ローカルリポとリモートリポの関係
これでリモートリポをcloneし,ローカルリポを作ることができました.
開発する際はこのローカルリポのコードを変更して,その変更をリモートリポに反映し,その反映されたリモートリポの情報をローカルリポに反映してローカルリポを変更して・・というサイクルで開発が進んでいきます.
ローカルリポの情報をリモートリポに反映することをpushといいます.
リモートリポの情報をローカルリポに反映することをpullといいます.
このサイクルをみんなで実施することで,それぞれの開発者のローカルリポは常にリモートリポと同じバージョンに保つことができるのです.
では,リモートリポとローカルリポを紐づけているものはなんでしょうか?
それは,ローカルリポのフォルダに隠れファイル .git フォルダです.
1 2 3 |
$ cd ~/Desktop/my-first-repo $ ls -a . .. .git README.md |
$ ls -a でフォルダの中の全てのファイルがみれます.
sublimeを使って.gitフォルダの中身をみてみることもできます.
1 |
$ subl .git |
(Sublimeの導入についてはこちらに記事を書いています.また,sublコマンドが動かない方は,pathの問題かもしれません.こちらのstackoverflowの質問をご参照ください.)
が,中身を知る必要はないので今は .git フォルダというのがリモートリポと繋げている(それ以外にもgit関連の設定の全てが入ってます)と覚えておけばいいでしょう.
・・・じゃぁこの.gitfフォルダをいれたmy-first-repoをUSBにいれて友達にあげたらどうなるか?
もちろん,git情報(今までのVersionなど)も引き継いで渡すことができます.(当然githubユーザのcredentialは別ですが)
まとめ
今日は前回の記事で作成したリモートリポをcloneしてローカルリポを作成するところまでをやりました!
次回はこのリポのREADME.mdを更新して,checkoutしてaddしてcommitするところまでを記事にしようと思います!↓次回
え?なにを言っているかわからない?
今はわからなくて大丈夫ですよ.一つ一つわかりやすく解説していきますからね〜
本ブログではデータサイエンティストになるために必要なプログラミングスキル,英語,米国勤務の話などを更新していこうと思います.Twitter(@usdatascientist)のフォローもお願いします!
それでは!
もっとGitHubの練習をしたい!という人はDataScienceHubへ!
DataScienceHubではGitHubを使ったコンテンツを実施しています.GitとGitHubを使って様々な課題を提出したり,コーディングレビューを受けることができます.
失敗してもOKな環境で,実際のフローに近いやり方でGitHubを使うことができます.わからないことがあったら自由に質問していただける,Git練習には最高な環境だと思うので是非活用してください.