Git単語

ギット
  • 1
  • 0pt
掲示板へ

Gitとは、バージョン管理システムの1つである。

概要

旧来のバージョン管理システムは中央集権システムだった為、ネットワークの接続を要すること、中央システムに負荷が集中すること等のデメリットがあった。

また、同時に編集することが困難であった。

そこで、Gitは分散バージョン管理システムとして開発された。

仕組み

Gitでは、分散バージョン管理を採用しており、バージョン管理はそれぞれのコンピュータで行えるようになっている。

バージョン管理に関する情報は、.gitと呼ばれるフォルダに格納されている。

Gitは、ファイルに差分が発生した際にハッシュ値と呼ばれるランダムな英数字列が変わる暗号学的ハッシュを利用して、差分が発生した際にバージョン更新を行うことができる。

差分が発生したモノのうち、バージョン更新をしたいものを選択することを「ステージング(Staging)」という。また更新を行うことを「コミット(Commit)」という。

Gitは、更新ファイルハッシュ値を基に .git配下に保存する。Gitは差分を保存すると勘違いされることがあるが、差分ではなく全なファイル(スナップショット)を保存する。

また、Gitの最大の特徴として、開発の枝(ブランチ)を分岐させたり、結合(マージ)させたりすることが較的容易であることが挙げられる。そのため、各々の環境で同時に開発を行い、後でそれぞれの差分を結合させることができる。

なお、リモートへの同期も可である。
同期の際は、差が発生した箇所のみ通信すれば良いため、非常に高速に同期することができる。

これらのシステムにより、手元に全なコピーを持つことができ、オフラインでの作業も可となる。

Gitは、現在多くのアプリケーション開発に用いられている。
多くの人が普段利用しているWindows世界の多くのコンピュータで利用されているLinuxもGitを利用して開発されている。
ニコニコ運営ドワンゴも従来はApache Subversionと呼ばれる中央管理をしていたが、現在はGitも採用されている。

使い方

ローカルのレポジトリを初期化する

git init

ファイルをコミット準備状態にする(ステージング状態にする)

git add [filename]

コミットしてバージョンを上げる

git commit

リモートにあるレポジトリからコピーする

git clone [remote_repository] [local_directory]

リモートにあるレポジトリからコードを反映する

git pull

リモートにあるレポジトリにコードを反映する

git push

作業を分岐するためにブランチを作成する

git branch [branch_name]

ブランチを切り替える

git checkout [branch_name]

別ブランチにあるコードを現在のブランチのコードに反映する

git merge [branch_name]

関連動画

関連商品

関連項目

外部リンク

【スポンサーリンク】

  • 1
  • 0pt
スマホ版URL:
https://dic.nicovideo.jp/t/a/git

この記事の掲示板に最近描かれたお絵カキコ

お絵カキコがありません

この記事の掲示板に最近投稿されたピコカキコ

ピコカキコがありません

Git

1 ななしのよっしん
2018/10/27(土) 20:37:23 ID: jczcC7mUrW
GitHubの記事で期待した者です。

記事作成お疲れさまです。
2 ななし
2018/11/10(土) 18:46:56 ID: 6N1wJCsI8p
必要なことが簡潔にまとまってて良記事
3 ななしのよっしん
2019/01/19(土) 01:04:09 ID: kCb2KdXYv+
バージョン管理システムとしては大変優秀
ただしコマンド体系はかなりアレ
4 ななしのよっしん
2019/02/12(火) 01:21:43 ID: Jlt3/i6Vqk
慣れますよ
5 ななしのよっしん
2020/05/29(金) 15:33:32 ID: 62TqxsAsJo
高機なのはわかるが、大規模プロジェクトには向かない
大規模プロジェクトに必ずいるはずの「単価の安い下っ端プログラマー」たち全員に使わせてる暇がない
6 ななしのよっしん
2020/05/29(金) 20:18:20 ID: BHFILT3d2D
>>5
ダウト
Linuxカーネルのレポジトリ管理システムGitで、ソースコードに触っている人は累計で2万1000人以上、ソースコードの規模は約2780万行とのこと(2020年1月時点)
2019年だけで4189人ほどがソースコードに触った
これが大規模じゃないならどういうプロジェクトが大規模なんだ?
7 ななしのよっしん
2020/05/29(金) 20:24:25 ID: Zi4gokcoPm
>>6
普通エンプラ案件の方が大規模だな
そもそも自分から参加してる人間と勉強もしない人間では教える労も違うしな
8 ななしのよっしん
2020/10/11(日) 02:16:59 ID: kCb2KdXYv+
>>7
普通の案件のほうが大規模という説明はLinuxシステムは大規模でないという明になっていない
結局の所はそれは規模の大小ではなく、レベルが保できないならGitは向かないという話にしかなっていない(この点は大いに同意だが)
9 ななしのよっしん
2020/12/04(金) 04:29:33 ID: DTyIH0bWxL
エンプラってそんな何千何万人もソース触るの?
そもそもgitも使えない人間コードってまともに動くのか?

過去のオススメ記事