WEBエンジニア勉強会 #04
2017/11/25(土) 13:30 〜 16:00
https://web-engineer-meetup.connpass.com/event/70551/
こちら上記勉強会の際に使ったLT資料です。
きっかけ
Git管理方法の具体的な解説は需要ある
もしかしたら使ってないかもしれない機能の紹介
- なんとなくこう使ってる
- なんとなく使えてるから問題ない
基本的な使い方
- ブランチ
- ステージング
- コミット
- プッシュ
これだけ出来れば基本は大丈夫
ありがとうございました
ではなくて…
もうちょっと詳しく知りたい
ですよね?
ブランチ
ブランチとは
- それまでのファイル状態と全く同じコピーをまるごと作成
- その中で作業すれば、間違っても取消し、やり直しが簡単。
- うまくできたら本流に取り込める。
→ 取り消し、取り込みのコマンドがある!
取り消し = ブランチ削除
取り込み = マージ
全部消したくない、部分的にやり直したい
ですよね?
できます
ステージング
コミットする行単位での指定が可能!
普通はファイルの変更点全てをコミット or 破棄
行を選択 → 選択した行をステージへ移動 で、選択した行だけコミット or 破棄
部分的にコミット or 取り消しできる!
つまり
- 余計な空行・変更をSourceTreeで取り消してコミット
- 1ファイル上の複数箇所に渡る変更を分けてコミット
このようなことをする場合、エディタで編集する必要がない!
差分を操る
ファイル単位で取り消す場合
ファイルを右クリック→リセット
だいたい右クリックしたらなんとかなる
ブランチのリセット1
コミットを選択して右クリック→ このコミットまで【ブランチ名】を元に戻す。
ブランチのリセット2
Soft, Mixed, Hardから選択。
- 差分はそのままにコミットをやり直したい場合はMixed。
- 差分も履歴も全てなかったことにしたい場合はHard。
- 今までの履歴と差分に手を付けずにコミットをやり直したい場合はSoft。
該当の履歴の状態まで一気に戻せる
ファイル単位で戻したい場合は?
コミットまで戻す1
先頭のコミットの差分がこんな感じ
コミットまで戻す2
履歴に表示されているファイル名の所で右クリック → コミットまで戻す
コミットまで戻す3
選択したファイルの状態まで差し戻される(コミットはされない)
スタッシュ
スタッシュ
一時退避コマンド。
現在の変更を全て一時的に退避する。
ですが、我々は知っている
部分的にステージに移動する方法を!
そして、スタッシュの際、ステージされた変更を残すことが出来る
つまり2つの操作を組み合わせられそう
というわけで実例
複数行の差分があります
#「ここだけ使いたい」の1行のみステージング
選択した行をステージへ移動
スタッシュ
一時退避します。
この時、「ステージされた変更を残す」にチェックを入れる。
ステージされた変更だけ残る
作業ツリーのファイル表示が消える。
変更前との比較
さらにスタッシュ
今回はチェックを付けずに一時退避。
「ここだけ使いたい」のみの一時退避差分ができた
ここまでできたら、複数のブランチに対して、この変更をそれぞれ適用することが簡単にできる。
差分の抽出、加工がエディタを使わずにできた
まとめ
- 状況に応じた単位でのコミット、差し戻しを使うと作業を効率化できる。
- 差分はエディタを使わなくても、SourceTree上で加工できる!
- SourceTreeはファイルをコミットするだけではない!
自己紹介
- 名前:笹島大和
- 職種:フロントエンドエンジニア
- 会社:CBcloud
エンジニアの転職メモ
今年2月に公開。そこそこいいねが付いていたが、
10月に別記事で後日談を公開した所、Qiitaメルマガに載ったこともあり、閲覧数といいね数が急増する。