LoginSignup
7
2

Git初心者がGitを頑張って解説してみる

Last updated at Posted at 2023-11-17

*今回のテーマ

新入社員の方からGitについての質問をよく受けるので
ざっくりとした解説を作ってみました。
自分自身も歴が浅くGitに慣れていないので勉強も兼ねています。


*目次

Gitとは
ローカル/リモート
クローン
コミット・プッシュ・プルなど
作業の流れ
最後に


*Gitとは

Gitとはソースコードなどのバージョンを管理するための
分散型バージョン管理システムの一つです

※分散型バージョンシステムの他に集中型バージョンシステムがあります
集中型:中央サーバーにリポジトリが配置され、そこに変更が反映される
(サーバーがダウンすると作業ができなくなる可能性がある)
分散型:リポジトリをクローンして、リモートリポジトリにプッシュして変更を反映する
(リモートリポジトリがダウンしても影響を受けない)

バージョンの管理をしないと開発中にバグが起こってしまった時
「あのタイミングに戻したい...」
となっても戻す事が難しいです

Gitで管理していると、何かあった時も
簡単にバージョンを戻す事ができるので安心して作業ができます

Git=Githubでは?とよく聞かれますがこれは別物です
GithubはGitというツールを使ったwebサービスです

GithubでもBacklogでもGitの管理をすることはできるので
各プロジェクトに合わせて使ってみてください

*ローカル/リモート

自分も含めて初心者が躓く点は ローカル/リモート の混同ではないでしょうか

ローカルで変更したのに他の人の環境に反映されていない! など

たまに混乱している姿を目にします

ローカル

自分のPC、個人の開発環境

リモート

複数人がアクセスできる環境
  

私が教えられた身近なものを使った例は

テレビの向こう側がリモート(誰でも見る事ができる)
テレビを見ている自分がローカル

と教えられた記憶がうっすらとあります

ソースコードだと、見るだけでは作業ができないですよね。

そこで次の項目、クローンに入ります。

*クローン

リモートのソースコードをローカルに持ってきて作業をしていきます。

そのためにはまずリモートリポジトリのクローンが必要になります

クローンをする方法はいくつもあります

*コマンドでクローンをする(git clone URL)
*SourceTreeでURLを入力してクローンする

私はよくSourceTreeを使います。

*コミット・プッシュ・プルなど

クローンする事ができたらローカルで作業を始めます。

作業をする → コミット & プッシュ → プル → 作業 → 。。。
の繰り返しです。

コミットのタイミングをよく聞かれますが、
何回コミットしてもデメリットは特にないと思うので、

その日の業務終了時、小さいタスクが完了した時、

などのタイミングでいいのではないでしょうか?

プッシュは他の人にコードを共有したいときや

プルリクエストを送るタイミングでいいと思います

初心者にとって大切なことは

とにかくコードを書く・コードレビューをいただく

だと思います。

フェッチ、プルについては、

フェッチは見るだけ
プルは持ってくる

といつもざっくり伝えています。

*作業の流れ

初心者や慣れていない方はおそらく

Developブランチのまま開発することはないと思います。

基本的には、作業ブランチを作って作業する(赤線部分)

レビュー担当者にプルリクエストを送る
  

NG => 修正を再度コミット&プッシュ
OK => レビュー担当者がリモートにマージしてくださる
  

初めのうちはプルリクはすんなり通らないと思いますが

挫けずにコードを書いていきましょう

  
レビュー担当者がマージしてくださったら

ローカルのTask-01ブランチからdevelopブランチに戻ります。

そこでリモートのdevelopブランチをプルすれば

ローカルのdevelopが最新の状態になります

  

その他Gitの運用フローやブランチの命名規則などはプロジェクトによって違うので

各プロジェクトに合わせてGitに慣れていきましょう。

*最後に

Gitに自身がない方はコマンドだけで管理するのではなく

GitGraphやSourceTreeなどの便利な機能もあるので

そちらを利用してみるといいかもしれません。

  
以上、最後までお読みいただきありがとうございました。

7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2