今日のお勉強。180526-git

バージョン管理ツールGit

Learn Git Branching を「様々なtips」まで完了しました。

次回は「上級トピック」を学習予定です。

 

Git

rebaseコマンドやcherry-pickなどを学びました。

 

$ git reset HEAD~1

で、一つ前の作業に戻れる。

 

$ git revert HEAD

で、コミット自体は一つ進むけど、作業はやり直しできる。

 

revert と reset は似てるけど少し違うことがわかりました。

 

$ git cherry-pick C2 C3

で、現在チェックアウトしてる場所から、チョイスしたコミットを付け足すことができる。

その場合、C2とC3には、「'」がつく。C2'、C3'など。

 

git rebase -i 

  • git rebase -i HEAD~n というコマンドで「HEADからn個のコミットを構築し直すよ」と伝える

HEADから、●個前のコミットまでやり直して、新しい歴史(?)を作るイメージです。

git rebase -i はやっぱりイケてる件【git】【rebase 】【iオプション】 - DRYな備忘録

 

$ git tag [tag] C1 

で、C1にタグを つけることができる。

 

$ git checkout C3

で、HEADだけC3へ移動できる。

 

$ git describe C1

で、C1(対象ブランチ)の最新のタグを確認できる。

gitで最後に付けられたタグを確認する - 作業ノート

 

 

 

 

 

今日のお勉強。180523-git

バージョン管理ツールGit

Learn Git Branching を「相対リファレンスその2」まで進めました。

 

Git

見やすくて視覚で楽しめました。

いざ実践(の練習)でやってみると、

途中でところどころ「うーん…」と悩んだりしました。

特に、「相対リファレンスその2」のところは、とても悩みました。

C1は新しいブランチ、C2はHEAD、C6はmaster、と、複雑に感じてしまいました。

 

しばらく考え込んで、どうしても解決できず答えを確認してみると、

branchコマンドでmasterをC6へ(一番悩んでた)、bugFixはC0へ移動、

HEADも移動してました。

 

$ git branch -f bugFix HEAD~1

の「HEAD~1」のところは、HEADの位置より一つ上の位置へ移動。という意味なのですね

(^^)/

 

 

今日のお勉強。180520-git

バージョン管理ツールGit

Pro Git を最後まで読みました。  

 

Git

Gitのグラフィカルインターフェイスで、

Visual StudioEclipse、など、

さまざまなツールがあることを知りました。

 

ターミナルは文字だけなので、複雑になるほどどうなってるのか分かりづらくなるおそれがあるかもしれない、と思いました。

 

グラフィカルインターフェイスを使用すると、視覚的に分かりやすくなりそうなので、便利そうです。

 

実際webエンジニアの現場では、CUIを主に使うのかGUIを主に使うのかわかりませんが、どっちも慣れた方が良いのでしょうか…。

 

あと、

Pro Git の「A3. Appendix C: Gitのコマンド」のあたりは、

コマンドの復習みたいで、勉強になりました。

 

 

 

今日のお勉強。180517-git

バージョン管理ツールGit

Pro Git の「10.6 転送プロトコル」まで読みました。  

 

Git

svn

Apache Subversion」の略で、バージョン管理システム

SVNとは

 

あと、転送プロトコルのところですが、

gitにも、POST・GETがあることを知りました。  

 

dumpプロトコルと、smartプロトコルが存在しており、

安全性を考慮してdumpよりもsmartの方が使われてるそうです。

アップロードの際は、sshを使用するそうです。

 

なんだか少し面白いと思いました。 

(^^)

 

 

今日のお勉強。180514-git

バージョン管理ツールGit

Pro Git の「8. Git のカスタマイズ」を読みました。  

 

Gitのカスタマイズ

今日は、Gitのカスタマイズや設定などを学びました。

$ git config 

で、gitの設定が行えるそうです。

$ git config --global core.editor emacs

デフォルトだとエディターはvi。

core.editor で他のエディターを設定できる。

他にも、文字の色設定、

コミット時のメッセージのテンプレート、

改行の設定、 

サーバーの設定、

など、さまざまなことができるみたいですね!

 

他参考:Gitでよく使う設定 - Qiita

 

$ git diff

addしてないものを表示。

 

 

 

今日のお勉強。180511-git

バージョン管理ツールGit

Pro Git の「7. Git のさまざまなツール」を読みました。  

 

git

Git - Git によるデバッグ

デバッグって、原因がわかるのに時間がかかってしまうことがあります。

でも、gitを使って原因を探す助けになるとのことで、

いろんな使い方ができることを知り、勉強になりました。

 

 

$ git blame ファイル名

誰がいつ変更したのか、最後のコミットや、名前、日付、時間、変更内容が出力。

デバッグに使う。

[Git] blameコマンドで特定の行がいつ変更されたのか調べて、バグの混入を見つける - YoheiM .NET 

Git blameを使って効率の良い犯人探し(w - Qiita

 

$ git bisect

問題がない状態・ある状態を判定。

主導の場合は、

$ git bisect good

で、問題ない状態を実行。

$ git bisect bad

で、問題ある状態を実行。

使い方によっては、テストの自動化もできるらしい。

git bisect で問題箇所を特定する - Qiita

 

 

次回は「8. Git のカスタマイズ」からです。

 

 

今日のお勉強。180508-git

バージョン管理ツールGit

Pro Git を「6. GitHub」から「7.5 Git のさまざまなツール - 検索」まで読みました。  

 

git

GitHubは、

世界最大の Git リポジトリホスティングサービスで、何百万もの開発者やプロジェクトが集う、共同作業の場になっています。

引用:Git - アカウントの準備と設定

 

と、書かれておりますし、前から気になってたので、

今日GitHubの部分に少し触れることができて嬉しいです。

(^o^)/

 

 

あと、公開鍵設定すると、GitHubsshでアクセスできると知り、

安心しやすい環境で開発ができるのですね

 

 

他参考:Git 基本の用語集 - Qiita

(用語とか忘れそうになるので…汗)