【Git】基礎的な知識

こんな画像や、

「Git」の画像検索結果

リポジトリ?プッシュ?プル?

コミット?...etcと言った横文字が入り乱れて

 

解らない!!

 

って方いましたら、見てやってください。

 

 

 

 

 

 

Gitの概要

 

バージョン管理システムの一つ。

ソースコードに限らず、ファイルの変更履歴を管理を行う。

管理は個人のPCだけでなく、ネットワーク上でも行う。

 

ファイル履歴を残すだけでなく、

問題があった際に過去のバージョンに戻す事が可能。

 

 

 

GitHub

gitの仕組みを利用したウェブサービス。

チーム開発での便利な機能に加え、gitにおける

リモートリポジトリ(遠隔の保管場所)の役割も担っている。

※リポジトリは変更履歴の記録も保存。

 

共有の開発品をアップロードし、そこから、

ダウンロードしたり、修正などを加えたコードを

リポジトリにアップロードする事ができる。

 

 

用語集

リモートリポジトリ

ネットワーク上で複数人で共有するためのリポジトリ。

共有PCなどの設備が必要なく、ファイル共有が可能。

個人のPCでファイルトラブルがあっても復旧が用意となる。

 

 

ローカルリポジトリ

自分の手元のマシン上に配置するリポジトリ。

 

 

 

クローン

リモートリポジトリからローカルリポジトリを作成する機能。

要はネットワーク上から自分のPCにデータをダウンロード。

 

 

 

コミット

フォルダやファイルのバージョンなどの状態を記録する操作。

これにより、誰が?何時?どのような?変更を加えたかを

周囲が把握する事が可能。

 

注意点

細かく行う。1機能で1コミット。

ファイルを戻す際は、コミット単位で行うのため。

 

 

プッシュ

ローカルリポジトリ(個人のPC)で変更した内容を、

リモートリポジトリ(ネット上)に同期させる事。

 

 

イメージは個人のPCで加えた変更内容を

ネット上にアップし、その記録を残す。

 

 

要はファイルのアップロード。

 

 

ローカルでコミットが終わり、

リモートに変更を同期(アップロード)させたい場合には

必要となる。まあ当たり前だけど。

 

 

プル

プッシュの反対。

要はネット上からファイルをダウンロード。

 

他人がプッシュを行った際は、必ず行う。

そうしないと変更履歴を

個人のPC上に反映できないから。

 

変更の内容を大元のソースコードに統合(マージ)する際に、

確認依頼することをプルリクエストと言う。

 

 

ブランチ

個々で変更などを作業を担当できる。

開発者ごとに担当する機能を明確に分けることが出来る

完成途中や問題のあるソースコードをリリースしないで済む。

 

 

ブランチ同士は独立しているために、

それぞれのブランチ干渉しあってはいない。

 

 

LGTM

Looks good to meの略であり、

「コードに問題がないのでマージ(統合)が問題ない」

事を表す。

 

LGTMを貰ったら、

マージをしてプルを忘れずに行いましょう!

LGBTとは全く関係ない。

 

 

 

デプロイ

ソースコードを実際の環境に設置し、稼働させること。

要は本試験。

 

 

競合(コンフリクト)

 

複数人が編集してしまう事で、

個人の判断で統合ができない事。

 

例としてある変更をした人間いて、

その作業が終わらないまま、

別な人間が仕様変更を使用として

そのまま時間が経過した際に発生する問題。

 

 

 

.gitignore

ignoreは無視するなどの意味。

Gitの管理対象から外す機能。

 

・わざわざ管理する必要のないファイル

・セキリティ上に問題があるファイル

 

使用例

/log/*との場合log以下のファイルと

フォルダは管理対象外となる。

 

GitHubに基づいた開発フロー

 

masterブランチは使用上問題ないものとする。

改定を試みる際は、masterブランチから

それが解る名称のブランチを作成する

作業内容をローカルリポジトリの

ブランチにコミット(記録)

リモートレポジトリ(ネット上の管理場所)に

定期的にプッシュ(アップロード)する

開発にあたり疑問点が生じた時もしくは現状の経過状況において

フィードバックを貰いたい際はプルリクエストを作成し

関係者とやりとりを行う。

関係者とのレビューが完了し

作業終了を確認後にmasterブランチにマージする

masterブランチへマージしたら、

ローカル、リモート共に使用可能状態にする。