まさ@ブログ書き込み中

読者です 読者をやめる 読者になる 読者になる

まさ@ブログ書き込み中

まさの旅、英語、プログラミング、プライベートについて、色々記録しています。

Git講座が楽しかったから学んだことを熱く語る記事(その2)【GitHub編】

 

こんばんは、お腹いっぱいで眠たい系男子のまさです。

 

今日の昼に更新した記事はGitやGitHubの違いについての概要、Gitの基本的なコマンド、また特にローカルリポジトリで出来るコマンドについて書いていました。

 

masa-world.hateblo.jp

 

今回はGitHubを使うためのGitコマンドについてまとめていきます。

 

 

GitHubを使って共同作業をする

基本的なコマンド

GitHubリモートリポジトリを便利に使えるサービスです。

その際に使う主なコマンドを説明すると、

  • git clone + Gitのurl でリモートリポジトリにあるコードをクローンできる
  • git pullで指定したリモートリポジトリのmasterのコードの変更などを反映させる
  • git branch + ブランチ名でブランチをつくれる
  • git checkout + ブランチ名でブランチへ移動
  • git branch -d + ブランチ名でブランチを削除

 

GitHubを使った共同開発の基本的な流れ

僕が理解している限りではこんな感じ。

  • 仲間と共有するコード(master)からブランチを作る(git clone, pull)
  • それぞれのローカルリポジトリで作業する
  • 更新した内容をプッシュする(git commit, push)
  • GitHub上でプルリクエストをmasterへ送る

 

うん、シンプル。

 

 

Gitや利用した便利なコマンドとテクニック

最後に、今まで紹介してこなかったものの実際に開発する際には役に立つであろうGitコマンドやGitHubを利用したサービスを紹介します。

 

まずはこちらから。

 

.gitignoreファイルでプッシュする際に隠しておきたいファイルを指定する

.gitが存在するディレクトリ内に.gitignoreファイルを用意し、その中に隠しておきたいファイルの名前を書いておけば、pushしてもそのファイルはリモートリポジトリには記録されません。

 

こうしておけば、

f:id:masaincebu:20170517215734p:plain

 

git add . コマンドですべてのファイルをプッシュしてもa.txtはプッシュされていません。

f:id:masaincebu:20170517215741p:plain

 

git diff コマンドで前回のコミットからの変更箇所が見られる

確認してみましょう。

 

今回はb.txtを編集します(a.txtは変更しても.gitignoreによって変更が無視されていました)。

f:id:masaincebu:20170517220107p:plain

 

変更すると・・・?

f:id:masaincebu:20170517220202p:plain

 

git diffで前回のコミット(b.txtに何も書かれていない)からの変更が表示されました。

f:id:masaincebu:20170517220223p:plain

 

 

GitHubを利用した便利なサービス(GUI)、GitHub Desktop

git initした(Gitの配下にある)ディレクトリのGit操作をわかりやすく、簡単にしたものがあります。それがGitHub Desktop。

 

それがどれだけ便利でわかりやすいか、一つの例で紹介します。

 

基本的には、git commitをする際はそのコミットについてのメッセージを書くことが求められます(よって、正確には「git commit -m "メッセージ"」とコマンドを打つ)。

 

プログラマーが修正したコードについてなぜ変更したのか、どのように修正したのかなどを書くわけですが、わかりやすく更新したコードに関する情報を共有するためにとても大切なことです。

 

なので、コミットは出来るだけ意味のある修正の1単位で行うことが望ましいです。

例えば1時間前のコードにログイン認証機能の追加とデザイン修正するためにコードを追加した際には、まずログイン認証機能の部分のコードを「ログイン機能実装」のようなメッセージとともにコミットして、デザインを修正したコードを「デザイン修正」というメッセージとともにコミットする方がわかりやすいですよね。

 

しかし、コミットをこまめにするのを忘れて、一度にコードを大量に修正した場合はどうすればいいのか。

 

それをGitでやる方法はあるのですが、GitHub Desktopであればとても簡単かつ直感的な操作でそれが可能になります。

 

以下のスクショを参照してみてください。

 

f:id:masaincebu:20170517222116p:plain

こういう変更をb.txtに加えたとしましょう(もちろん本来はコードですが、今回は英語の文章で例示したいと思います)。

 

もしこれらを一度にコミットしたら、それぞれの文章の意味がわからない人にとっては不親切です。

 

だから「1行目は『私は彼をまさだと思った』という意味で書いた」、そして「2行目は『実は彼はまさではなかった』という意味だ」というメッセージと共にコミットしたいですよね。

 

そこでGitHub Desktopならこんな感じで操作できます。

 

この画面を見ると、b.txtの変更がGitHub Desktopに反映されていますね。

f:id:masaincebu:20170517222442p:plain

 

そこで変更部分の1行目をクリックし、下のSummaryのところにコメントを書きました(その下のDescriptionも同じようなものです)。最後にCommit to masterをクリック。

f:id:masaincebu:20170517222517p:plain

 

するとtigというコマンドで確認できるコミット履歴の中にしっかり先ほどのコメント共にコミットされた様子が表れています。

f:id:masaincebu:20170517222742p:plain

 

 

というわけで、さぼさんによる密度の濃いGit講座のGitHub編のまとめをここで終わります。

 

おやすみなさい。