GitHub初心者がGitの使い方を学ぶ

/


GitHubを全然使いこなせてなかったので、ゼロから勉強してみることにした。
まずは全体像を掴むためにも、簡単な教科書がほしい。
そこでAmazonで評判の良い、こちらの本を購入することにした。
マンガ形式なのでやさしく理解することができた。



覚えたGitの内容を、忘れないうちにメモしておくことにしよう。



アドしてコミットする





実際にファイルを編集したりしているものは、ワーキングディレクトリに存在するものだ。ローカルリポジトリへは反映されていない。また、ローカルリポジトリへ反映するためにも一旦ステージという場所へ追加してやらなければならない。ステージ上のものをコミットすることで初めて、ローカルリポジトリへ保存することができる仕組みとなっている。

また、コミットメッセージは第三者が分かるためにも、次のように書くこと良いようだ。

コミットの変更内容の要約
(空行)
変更した理由



フォークしてクローンする





オープンソースやプロジェクトを自分の開発環境に置く場合は、本家から自分のリモートリポジトリへ保存する。これをフォークと呼ぶ。そしてリモートレポジトリからローカルレポジトリへ反映する。これをクローンと呼ぶ。



ブランチしてマージする





バグ修正や新機能といった作業をする場合は、masterブランチとは別に新規ブランチを作成して作業を進める。コードに問題がなければ、masterブランチに合流、つまりマージするのだ。masterブランチは最新リリース(本番用)を保つようにしておく。



プッシュプル





ローカルリポジトリの状態をリモートリポジトリへ反映したい場合はプッシュしよう。リモートリポジトリの内容が変更された場合などに、ローカルリポジトリへ反映したい場合はプルしよう。


CUIでのGit操作



次に、CUIでのかんたんな操作にも触れてみたい。



ローカルリポジトリの作成


管理するプロジェクトのディレクトリへ移動し、$ git init でリポジトリを作成する。.git/が生成された。



状態を確認


例えば、この文章のマークダウンtry_git_with_cui.mdをディレクトリ内に保存する。

ワーキングツリーの状態を確認する。
$ git status           [master]


On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)

	try_git_with_cui.md

nothing added to commit but untracked files present (use "git add" to track)


Untracked files、つまりtry_git_with_cui.mdファイルは追跡されていないというメッセージだ。



追跡対象にする


ファイルを追跡をしてもらうためにステージエリアへ登録する。
$ git add .            [master]

.ドットで、すべてのファイルを追跡対象に指定している。



コミットする


追跡登録したらコミットしよう。
$ git commit -m "マークダウンファイルを新規に追加した"



過去のコミットにチェックアウトしたい


$ git log で戻りたい地点のcommit ハッシュをコピーして、次のように入力実行する。
$ git checkout d1c54df01ba043ef08d3f3fec4885e43088c8912


Note: checking out 'd1c54df01ba043ef08d3f3fec4885e43088c8912'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at d1c54df mdファイルを新規追加




最新の状態に戻りたい


慌てずに、最新の状態にも戻れることを知っておこう。
$ git checkout master           [d1c54df...]



その他





GUIでのGitの管理は、この本の中でも紹介されているSouceTreeというアプリケーションが良さそうだ。
ブランチの切り替えが簡単だったり、ダブルクリックで簡単に過去のコミットにチェックアウトできるのは便利だ。

https://ja.atlassian.com/software/sourcetree

Gitの機能に関してはまだまだたくさんある。その他にも、ここではまとめきれなかった、リバート、チェリーピク、Stash、.gitgnoreなどなど。
実践しながら少しずつ覚えていきたいと思う。



参考



https://marklodato.github.io/visual-git-guide/index-ja.html
https://backlog.com/ja/git-tutorial