【学習】UdemyでGitを再度学び直してみた

GWは残った仕事を消化をしながら家のことや理解不足の技術についての復習なんかをやっておりました。

今回は、なんとなくわかっていて、なんとなく使っているGitについてUdemyの講座を利用して再度学び直してみましたのでその備忘録になります。

今回の講座はGitの基礎から仕組みまで細かく説明されているものでしたので、Git初心者の方にもオススメなものでした。

学び直した理由

一応Gitはなんとなくですが仕事でも使っていて、まぁ特に問題なく使えてはいる状態です。基本的に一人での開発で使用し、主な使い方がバックアップやファイルのバージョン管理における用途が殆どをしめています。

Gitの本質としてはチーム開発を円滑にすることに大きく意味があり、今の自分の使い方はどちらかというと希な使い方になります。

また、普段Gitを利用するにあたっては、soucetreeというGUIアプリケーションを使っているので、Gitがコマンドライン上でどのような動きをしているのかわからないのが現状でした。

さらに、1人開発ですとコミットやプルリクエスト、マージリクエスト的なものは、適当で良かったり、やる必要がなかったりですし、コンフリクトなんかも基本的には起こりません。

そんなこんなで、もう少ししっかりとGitを学びたいなという気持ちから講座を受けてみようと思った訳です。

今後はGithubで色んな人と開発してみたり、実際の仕事でも複数人開発なんかも出来たらいいですね!

Udemyで「もう怖くないGit」を受講

この講座で学べることは、Gitの基礎と仕組み、そして、実際の現場でのワークフローが学べます。一般的に使われているsoucetree(GUIのアプリケーションの使い方)は学べません。

こちらの講座は現場でGitを使えるようになることを目的とし、soucetreeなどのGUIを使わずコマンドラインで進行し、コマンドの裏側で何が起こっているのかを細かく解説しながら説明してくれます。もし既にGitを少し触ったことがある人であれば、今以上のより深い理解を得られることでしょう。

実際に受講してみて、Gitコマンドの裏側の動きまでイメージできるようになりましたので、復習としては上出来な感じです。講義自体もかなり丁寧な進行でした。

ただ、自分の場合は既に予備知識があったのと、実際に使っていたこともあってというのも大きかったのかと思っています。本当の初心者の方は、もっと初心者向けの講義もしくは書籍なんかで一通りの概念を学び、source treeなどのアプリケーションを触ったあと、こちらの講義を受講することの方が良いかと思います。理由は基本的にはコマンドライン操作になりますので、GUIアプリケーションより敷居が高いのと、そもそもなぜGitを使うのか?など、ある程度知っておいた方が良いと思うためです。

Git初心者への参考資料

Gitについては、結構良い参考資料がありますので、こちらに記載しておきます。全て読みましたが、自分は「Gitが、おもしろいほどわかる基本の使い方33」が一番わかりやすかったです。

サルでもわかるGit入門 〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】

Web制作者のためのGitHubの教科書 チームの効率を最大化する共同開発ツール Web制作者のための教科書シリーズKindle版

Gitが、おもしろいほどわかる基本の使い方33

Gitコマンド備忘録

Gitのイニシャライズ

作業フォルダの中に.gitファイル(不可視ファイル)

$ git init
リポジトリからクローンを作成する

オンライン上からローカルにファイルをコピーする

$ git clone リポジトリ名
例 : git clone rkpg_theme
変更したファイルをステージに追加する

ローカルファイルを新規作成したり、変更を加えた際は「ステージ」に追加する必要がある※コミットするためにはステージに追加する必要がある

$ git add ファイル名
$ git add フォルダ名
$ git add . //ドットとした場合はすべてのファイルという意味
変更をコミットする

新規作成したファイルや変更を加えたファイルをGitにメッセージ付きで記録すること

$ git commit
$ git commit -m "メッセージの内容"
$ git commit -v //変更点を表示してコミット
変更内容を確認する

変更した内容がステージされているのか、コミットされているのかなどを確認する

$ git status
変更の差分を確認する

具体的な変更内容を、変更する前と変更した後を比較して確認できる

//git add(ステージ)する前の変更分の確認方法
$ git diff
$ git diff ファイル名

//git add(ステージ)した後の変更分
$ git diff --staged
変更の履歴を確認する

コミットを時系列で追って変更履歴が確認できる

$ git log

//1行で表示
$ git log --oneline

//ファイルの変更を差分で表示
$ git log -p index.html

//表示するコミット数を指定
$ git log -n コミット数
ファイルを削除する

ファイルを削除をGitに記録する
※実際のファイルは削除しないが、Gitの記録から削除することもできる

//ファイル、フォルダを削除
$ git rm ファイル名
$ git rm フォルダ名

//ファイルは残るが、Gitからは除外する
$ git rm --cashed ファイル名
ファイルの移動(名前の変更も)

ファイルの移動や名前の変更をGitに記録する

$ git mv 現ファイル名 新ファイル名

//以下のコマンドと同じ意味
$ git rm 現ファイル
$ git add 新ファイル
リモートリポジトリをGitに登録
//githubの場合でorignという名前のリポジトリを登録
$ git remoto add origin https://github.com/user/repo.git
ファイルの変更を取り消す
$ git checkout --ファイル名
$ git checkout --フォルダ名
$ git checkout --. //全部取り消す 
ステージした変更を取り消す
$ git reset HEAD ファイル名
$ git reset HEAD フォルダ名
$ git reset HEAD . //全部取り消す 
直前のコミットのやり直し
$ git commit --amend
直前のコミットのやり直し
$ git commit --amend
リモート情報を表示する
$ git remote
$ git remote -v //urlを表示する
リモートから最新情報を取得する
$ git fetch リモート名
リモートから最新情報を取得してローカルをリモートと同じにする
$ git pull リモート名 ブランチ名

//上記は以下のコマンドと同じ
$ git fetch リモート名 ブランチ名
$ git merge リモート名 ブランチ名
リモートの詳細情報を表示
$ git remote show リモート名
リモート名を変更する
$ git remote rename 現リモート名 新リモート名
リモートを削除する
$ git remote rm リモート名
ブランチを新規作成する
$ git branch ブランチ名
ブランチ一覧の表示
$ git branch
$ git branch -a //すべてのブランチを表示
ブランチを切り替える
$ git checkout ブランチ名
$ git checkout -b ブランチ名 //ブランチを新規作成して切り替える
変更履歴をマージする
$ git merge ブランチ名
ブランチ名を変更する
$ git branch -m ブランチ名
ブランチを削除する
$ git branch -d ブランチ名
$ git branch -D ブランチ名 //強制削除
リベース(コミットの履歴を整える)
$ git rebase ブランチ名
コミットをやり直す

「HEAD〜数字」の数字部分は表示したいコミットの数を入力

$ git rebase -1 コミットID
$ git rebase -i HEAD~3
↓
pick コミットID コミット文章
pick コミットID コミット文章
pick コミットID コミット文章

//やり直すcommitをpickをeditに変更する
pick コミットID コミット文章
edit コミットID コミット文章
pick コミットID コミット文章
↓
//commitをやり直ししたら実行
$ git commit --amend

//次のコミットへ進む
$ git commit --continue
コミットを並び替える

「HEAD〜数字」の数字部分は表示したいコミットの数を入力

$ git rebase -i HEAD~3 //3つのコミットを表示

↓
pick コミットID コミット文章
pick コミットID コミット文章
pick コミットID コミット文章
//上記の順番を入れ替えればok
コミットを削除する

「HEAD〜数字」の数字部分は表示したいコミットの数を入力

$ git rebase -i HEAD~3 //3つのコミットを表示

↓
pick コミットID コミット文章(この行を消す)
pick コミットID コミット文章
pick コミットID コミット文章
//削除したいコミットを消せばok
コミットをまとめる

「HEAD〜数字」の数字部分は表示したいコミットの数を入力

$ git rebase -i HEAD~3 //3つのコミットを表示

↓
pick コミットID コミット文章
pick コミットID コミット文章
pick コミットID コミット文章
↓
//まとめたいコミットの「pick」部分を「squash」に変更する
squach コミットID コミット文章
squach コミットID コミット文章
pick コミットID コミット文章
作業を一時避難する
$ git stash
$ git stash save
一時避難したブランチのリストを表示
$ git stash list
避難した作業を復元する
//最新の作業を復元
$ git stash apply

//ステージの状況も復元
$ git stash apply --index

//特定の作業を復元
$ git stash apply スタッシュ名
避難した作業を削除する
//最新の作業を削除
$ git stash drop

//特定の作業を削除
$ git stash drop スタッシュ名

//すべての作業を削除
$ git stash clear

知っていたものはより深い理解に。知らなかったこともいくつかあった。

今回この講座を受けて良かったと思う点は、今までなんとなく使っていた機能の仕組みがわかり、理解がより深くなったという点です。また、タグ機能など一部知らないこともわかり、これから使ってみようと思えるものにも出会えました。

今回の備忘録ですが、理解がまだできていないものについては掲載しておりません。復習したり自分で試したりして、このページをアップデートしていこうと思います。

Gitを習得しようとしている方はぜひこちらの講座を選択肢の一つにしてみてはいかがでしょうか?

やはりこちらの講座のおすすめ対象者は、ちょっと触ったけどもう少し理解を深めたい!と思っている方です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です