Gitに触れて1年が経ちました
昨年のこの時期、Gitの入門書を買ってSourcetreeの使い方を勉強したり、簡単なGitコマンドを学習していました。
その後、業務のソース管理をGitで行うようになり、約1年の月日が流れたということで、自分なりのGitの使い方について、これからGitを勉強する方や始めたばかりの方にお役に立てればと思ってこの記事を書いています。
この記事の目的
【対象の方】
(主に)Git初学者の方
【書く理由】
僕の周りには、Gitを使う上で、Sourcetree派とGitコマンド派に分かれていて、個人的には併用するのが一番使いやすいなぁと思ったから。
SourcetreeとGitコマンドについて
Sourcetree
Gitを簡単に使えるようにした、GUIツール。初心者が躓きがちな、コマンドプロンプトを使わずに、視覚的に操作できるのが特徴。
Gitコマンド
コマンドプロンプトやターミナルで、Gitが用意しているコマンドを入力して、操作する方法。
Sourcetreeのほうが便利な操作
Sourcetreeの強みは、ソースの差分や履歴が視覚的に見えやすいところです。なので、主に目で見て確認したほうが、間違いが少ないよね。といった操作をSourcetreeで行うのがオススメです。実例をあげるとこんな感じです。
1. ローカル環境でのコミット作業
Sourcetreeでコミット作業を行うメリットとしては、特定のファイルはコミットに含めたくない、特定ファイルの特定箇所だけコミットしたい。などと言ったときに、GUIで対象を指定できるので、Gitに慣れてなくてもなんとなくで操作できます。あと、コミットメッセージを書くのが楽です。
2. コンフリクト発生時の発生箇所の確認、解決時のコミット
コンフリクトが発生したとき、めっちゃ焦りますが、Sourcetreeを使うことで、視覚的にコンフリクト箇所を見ることができるので、少し落ち着きます。(笑)
3. コミット履歴の閲覧
個人的に絶対にSourcetreeのほうが見やすいです。特に、ブランチの数が増えたり、マージコミットが多くなると尚更。
4. ブランチのチェックアウト
Sourcetreeだと、チェックアウトしたいブランチをダブルクリックするだけで、ブランチの変更ができます。Gitコマンドだとチェックアウトするのに、ブランチ名を入力するので、少しめんどくさい印象。
Gitコマンドの方が便利な操作
Gitコマンドのほうが便利な作業としては、主にリモートとの疎通作業です。
また、マージ、リベースなどは、個人的にGitコマンドのほうがやりやすくて好きです。
1. リモートリポジトリとのやり取り
具体的なコマンドとしては、以下に挙げました。
git fetch
-> リモートリポジトリの変更を確認する
git pull
-> リモートリポジトリの変更をローカルに取り込む
git push
-> ローカルの変更をリモートに適用する
2. リベース、マージ作業
リベースやマージ作業は、個人的にコマンドのほうが早い気がします。コマンドは、ターミナル(コマンドプロンプト)に履歴が残るため、同じブランチを再度マージしたりするときに、同じコマンドを履歴から探して実行するだけなので、そのあたりが楽でミスも少ないかなと思っています。
現在のブランチがmasterブランチで、developブランチの変更を取り込みたい場合
git merge develop
現在のブランチがdevelopブランチで、ソースベースをmasterの最新に変更したい場合
git rebase master
3. ローカルの変更取り消し
ローカルで開発したソースで不要になったものを取り消ししたいときに以下のコマンド一発で全取消できます。入力量が少ないのでおすすめです。
※新規追加のファイルは削除できないです。
git checkout .
4.その他
たまにしか使わない操作・コマンド。
Gitを使っていると、本当にたまにしか使わない操作を実行するときがあります。
そういうときは、やり方がわからないのでググって調べるのですが、大抵Gitコマンドでのやり方がHitします。
ですので、ググって調べたときは、Gitコマンドを使えたほうが早いというのは、事実だと思います。
結論
なんやかんやどっちもちゃんと使えたほうが便利
以上、、、です。