初めに
どうも。python歴3か月で転職を目指す者です。
今回は前々から聞くgitとgithubについて簡単にまとめてみました。
やれ実務で必須だのチーム開発で必須だのよく聞きますからね。
印象としては複雑で難しく感じました。なので忘備録と復習用に記事を作成致しました。
関連記事
-
(コマンドプロンプト)cmd解説:gitは基本的にCUIを使用します。以前作成したこちらの記事がお役に立てば幸いです。
-
とりあえずgit実装:次の記事です。とにかく触ってみる、分かりやすくを意識して作成致しました。
学習
今回は基本的な役割や用語をまとめて行こうと思います。
大枠をまず掴んでおくとイメージしやすいですから。
実装は次回のこちらです。
gitとは
データをのバージョンを管理できるツールです。主な特徴として、
-
ファイルのバージョンの管理
ファイルの数を増やさずに、現在のバージョンを残しつつ、最新の状態を記録する事が出来ます。 -
以前の状態に戻す事も可能。
上書き保存しても変更前と変更後の違いを可視化する事が出来ます。具体的には「いつ、誰がどんな変更をしたか」を記録し、以前のバージョンに戻すことも可能です。 -
チームでデータを扱う際に重宝。
オンライン上で複数人の共同編集でも上記の機能がありますので、事故(思わぬ上書き)を防ぐ事が出来ます。
githubとは
gitで管理されているデータをネット上に公開して共有することができるプラットフォームです。
- gitデータの簡単な共有
gitはデータの変更履歴やバージョンを確認するもので、それをチームで簡単に共有することができます。データはオンライン上で保存や公開も可能です。
方法としてはローカルでgitにてリポジトリを作成し、その後にgithubにアップし公開する事で共有します。是非チーム開発に役立ててください。
①git hubからリポジトリを取得
②変更や修正
③git hubへアップロード
- OSSである。
オープンソースソフトウェア:ソースコードが公開され、誰でも改変、再配布が可能なソフトウェア。
公開されている世界中の優れたコードを確認し勉強する事が出来ます。更にリクエストを送り改善案を出す事も可能です。
gitの抑えるべき用語とポイント。
- リポジトリ
ファイルやフォルダの保存場所の事です。。
その保存場所単位(リポジトリ単位)で変更/追加/削除を行い記録し履歴をためる事が出来ます。
保存していないリポジトリをuntracked fileといいます。
リモートリポジトリ:サーバー上にある保存先。Github上に作成し管理。
ローカルリポジトリ:自分のパソコン上にある保存先。自分のPCに作成し管理。
- コミット
データを記録する事。
- ブランチ
履歴の流れを分岐して記録していく手法です。分岐したブランチは他の影響を受けないため、同リポジトリ中で複数の変更を同時に進める事が可能です。下記の画像でイメージが湧くでしょうか。
合っているか分かりませんが、「複数のセーブデータを保存できるゲームソフト」と私は認識しております。長男、次男、三男が同じゲームソフトで個別のセーブデータで遊んでいる…みたいな。
masterやmarge等含めるとこの例えは少しズレますが…(笑)
- マージ
ブランチに対して別のブランチで変更した結果を取り込むこと。
ブランチで分離し、ある程度目途が立ったら、他ブランチと合流(マージ)して、一つのブランチにまとめ直す。
使用例として、
-
他のメンバーの作業の影響を受けないように、メインのブランチから自分の作業専用のブランチを作成する。
-
作業の終わったメンバーは、メインのブランチに自分のブランチの変更を取り込んでいきます。
このようにすることで、他のメンバーの作業による影響を受けることなく、自分の作業に取り込むことができます。また、作業単位で履歴を残すことで、問題が発生した場合に原因となる変更箇所の調査や対策を行うことが容易になります。
まとめ
この記事をご覧になっている時点でgitやCUIから逃げられない職種だと存じます。
私もいまだに苦手意識が強いですが是非上手に泳げるようになる為にまずは一緒に溺れましょう。
不慣れ故色々間違いもあるかと存じますが、その点はコメントや訂正依頼を頂けますと幸いです。
前提知識としてはこのくらいでOKで、とにかく触ってみようかと。
習うより慣れろという事で実装してみましょう。
実は実装の記事も作成しました。⇒こちら
参考サイト
↑特におすすめ。