今日のお勉強。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(対象ブランチ)の最新のタグを確認できる。
今日のお勉強。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 Studio、Eclipse、など、
さまざまなツールがあることを知りました。
ターミナルは文字だけなので、複雑になるほどどうなってるのか分かりづらくなるおそれがあるかもしれない、と思いました。
グラフィカルインターフェイスを使用すると、視覚的に分かりやすくなりそうなので、便利そうです。
実際webエンジニアの現場では、CUIを主に使うのかGUIを主に使うのかわかりませんが、どっちも慣れた方が良いのでしょうか…。
あと、
Pro Git の「A3. Appendix C: Gitのコマンド」のあたりは、
コマンドの復習みたいで、勉強になりました。
今日のお勉強。180514-git
今日のお勉強。180511-git
バージョン管理ツールGit
Pro Git の「7. Git のさまざまなツール」を読みました。
git
デバッグって、原因がわかるのに時間がかかってしまうことがあります。
でも、gitを使って原因を探す助けになるとのことで、
いろんな使い方ができることを知り、勉強になりました。
$ git blame ファイル名
誰がいつ変更したのか、最後のコミットや、名前、日付、時間、変更内容が出力。
デバッグに使う。
[Git] blameコマンドで特定の行がいつ変更されたのか調べて、バグの混入を見つける - YoheiM .NET
Git blameを使って効率の良い犯人探し(w - Qiita
$ git bisect
問題がない状態・ある状態を判定。
主導の場合は、
$ git bisect good
で、問題ない状態を実行。
$ git bisect bad
で、問題ある状態を実行。
使い方によっては、テストの自動化もできるらしい。
次回は「8. Git のカスタマイズ」からです。