1. トップ
  2. コラム一覧
  3. 非エンジニアでも知らないとヤバイGit Part2

非エンジニアでも知らないとヤバイGit Part2

投稿日 : 2018.03.11  |  カテゴリー : 非エンジニアでも知らないとヤバイ

画像

はじめに

前回は、Gitの基本的な機能、リモートリポジトリ・ローカルリポジトリ、コミットについて説明した。
今回は、 Gitの機能の1つであるクローン、Push、Pullについて説明する。

クローンとは

共同で開発を進める際に作業を分担することがよくある。必ずしも同じタイミングで全員が作業に参加する訳ではないので、工程によって作業のスタートがずれることがある。
後から作業に参加する開発者は、どのような意図・状況で現在の状態になっているのか把握できなくなる。
しかし、このような問題はGitのクローン機能を使用すれば解決できる。
クローンは、すでに変更履歴が存在するリモートリポジトリ複製し、自分のマシンにローカルリポジトリを作成する操作。
リモートリポジトリの内容をまるごと自分の手元のマシンにダウンロードできる。
ただソースコードをダウンロードするのではなく、変更履歴も複製されるので、過去の履歴を参照して状況を把握しやすくなる。

Pushとは

前回も説明したが、Gitでは複数の開発者が共有しているリモートリポジトリを使って、各自のマシンにダウンロードされているローカルリポジトリの変更履歴を共有することでバージョン管理をしている。
Pushは各自のマシンのローカルリポジトリの変更履歴を、複数の開発者が共有しているリモートリポジトリにアップロードする操作のこと。
Pushを行うとPushしたローカルリポジトリとリモートリポジトリの変更履歴が同じ状態になる。

Pullとは

Pushを行っただけの段階では、Pushした開発者以外はリモートリポジトリと自分のマシンのローカルリポジトリは同じ状態ではない。
リモートリポジトリ自分のマシンのローカルリポジトリの状態を一致させるには、Pullという操作を行う。
Pullは、Pushの反対で変更履歴をダウンロードして自分のマシンのローカルリポジトリを、最新のリモートリポジトリの状態に更新する。
最後にPullした後に、他の開発者と同じファイルを作業していて他の開発者が先にPushして、その後自分がPushを行う場合は自分のPushは拒否される。
このように作業ファイルが衝突した場合は、他の履歴での変更を取り込む(マージ)までは自分のPushは拒否される。
これは、そのままPushできてしまうと先にPushした開発者の変更履歴が上書きされて消えてしまうからだ。

最後に

今回は、クローン、Push、Pullについて説明した。
次回は、マージについて詳しく説明する。
画像

この記事を共有する
  • facebookでシェアする
  • ツイッターでつぶやく
  • LINEで送る
関連記事

非エンジニアでも知らないとヤバイCPU Part2

コア、クロック周波数 前回の非エンジニアでも知らないとヤバイCPU Part1 では、CPUの処理性能がわかるクロック周波数と、CPUの中心をになっているコアについて触れました。 今回は、処理を効率よく進めるためのキャッシュ ...

非エンジニアでも知らないとヤバイSQL

非エンジニアでも知らないとヤバイSQL Part4 〜INSERT句でデータを追加〜

非エンジニアでも知らないとヤバイSQL Part4 〜INSERT句でデータを追加〜 前回はWHEREでテーブルから指定した条件のデータを抽出する方法を学びましたね。 今回はテーブルにデータを追加して拡張してくれるINSERT文について ...

非エンジニアでも知らないとヤバイCPU Part1

そもそもCPUとは CPUとは、Central Processing Unitの略で、日本語では中央演算処理装置と言い、別名はプロッセッサーです。 入力装置などから受けっとった値を処理し、出力装置などで結果を出力します。 CPUの内部 ...

非エンジニアでも知らないとヤバイSQL

非エンジニアでも知らないとヤバイSQL Part5 〜UPDATEとDELETEでデータを編集〜

span{font-size:15px;} 非エンジニアでも知らないとヤバイSQL Part5 ~UPDATEとDELETEでデータを編集~ 前回はテーブルにデータを追加するためのINSERT文について学びました。 ...

非エンジニアでも知らないとヤバイSQL

非エンジニアでも知らないとヤバイSQL Part6 〜似て非なるTRUNCATEとDROP〜

span{font-size:15px;} 非エンジニアでも知らないとヤバイSQL Part6 〜似て非なるTRUNCATEとDROP〜 前回はテーブルのデータの更新と削除を行うための「UPDATE」と「DELETE ...

非エンジニアでも知らないとヤバイGit Part1

そもそもGitとは Gitは分散型のバージョン管理システム。 分散型とは、リポジトリと言われる開発過程が保存されているデータベースが自分やチームのマシン(パソコン)に入っているタイプ。 バージョン管理システムは、コードなどの開発過 ...

非エンジニアでも知らないとヤバイSQL

非エンジニアでも知らないとヤバイSQL Part1

非エンジニアでもエンジニアの知識が最低限必要 IT業界で働いていくには、非エンジニアでもエンジニアの知識がある程度必要です。営業マンやマーケッター、プランナーやデザイナーであっても、同じ業界で働くためには社外の打ち合わせなどはもちろん、社 ...

非エンジニアでも知らないとヤバイSQL

非エンジニアでも知らないとヤバイSQL Part2 〜SELECT文でデータ抽出〜

DB、SQLについて 前回の非エンジニアでも知らないとヤバイSQL Part1では、DBの種類(「関係型」「NoSQL」「階層型」「ネットワーク型」)、その中でも現在主流になっている「ネットワーク型」(RDBMS)について、SQLについて ...

非エンジニアでも知らないとヤバイPHP Part1

プログラミング経験有無に関わらず知識は必要 タイトルに記載していますように非エンジニアの方(業界問わず)でもプログラミングに関する知識は必要です。昨今世界中においてあらゆる分野において情報化が進んでいます。これは日本も例外ではありません。 ...

非エンジニアでも知らないとヤバイSQL

非エンジニアでも知らないとヤバイSQL Part3 〜WHERE句で検索条件を指定〜

SELECT文について 前回は、SQLにてSELECTする際、全カラム抽出、カラム指定抽出、件数指定抽出、OFFSETを使った件数指定抽出についてでした。 DBの種類(「関係型」「NoSQL」「階層型」「ネットワーク型」)、その中でも現 ...

Knocknote Education(ノックノートエドゥケーション)