git
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/05/08 07:41 UTC 版)
このページのノートに、このページに関する提案があります。 提案の要約:#関連文献(書籍や雑誌記事のリスト)の編集除去 |
このページの名前に関して「Git」への改名が提案されています。 議論はノート:git#改名提案:git→Gitを参照してください。(2017年5月) |
gitのWebインターフェース、gitweb
|
|
開発元 | 濱野純, リーナス・トーバルズ, ほか多数 |
---|---|
初版 | 2005年12月21日 |
最新版 | 2.12 - 2017年2月24日[1][±] |
リポジトリ | https://github.com/git/git, git://git.kernel.org/pub/scm/git/git.git |
プログラミング言語 | C, Bourne Shell, Tcl, Perl |
対応OS | Unix系, Linux, Windows, macOS |
種別 | バージョン管理ソフトウェア |
ライセンス | GNU General Public License バージョン2,GNU Lesser General Public License 2.1 |
公式サイト | git-scm |
gitでは、各ユーザのワーキングディレクトリに、全履歴を含んだリポジトリの完全な複製が作られる。したがって、ネットワークにアクセスできないなどの理由で中心リポジトリにアクセスできない環境でも、履歴の調査や変更の記録といったほとんどの作業を行うことができる。これが「分散型」と呼ばれる理由である。
背景および概要
Linuxカーネルの開発では、Linux Kernel Mailing Listに投稿される多数のパッチをメンテナーたちがソースコードに適用するという形式が採用されている。これらの作業を効率的に行うため、当初はBitKeeperというバージョン管理システムを用いていたが、このソフトウェアは商用ソフトウェアであった(クライアントはバイナリ版のみ無料で、サーバは商用だがBitMover社の好意で無料で使えていた)。この状況を快く思わない人々がBitKeeperのクローンを実装したことから、この環境が使えなくなってしまい(BitKeeper#ライセンス問題やBitKeeper#価格変更を参照)、その代替として2005年にgitが開発された。[5]
Linuxカーネルの開発では、巨大なソースコードの集合を扱うため、変更点の抽出やリポジトリ操作ができるかぎり高速にできる必要がある。他の様々なバージョン管理システムをあたったが、満足のいくものがなかったため、gitではこのような問題も出来る限り解決できるよう、いくつかのアイデアが導入されている(この部分は、他のバージョン管理システムにも同様の機能が導入されるようになった)。
作業の流れ
gitは分散型のソースコード管理システムであるため、リモートサーバ等にある中心リポジトリの完全なコピーを手元(ローカル環境)に作成して、そのローカルリポジトリを使って作業を行う。
一般的な開発スタイルでは、大雑把に言えば、以下のようなステップの繰り返しで作業が行なわれる:
- リモートサーバ等にある中心リポジトリをローカルに複製する (git clone)。
- ローカルでコンテンツの修正・追加・削除を行い、ローカルリポジトリに変更履歴を記録する (git commit)。必要に応じて過去の状態の閲覧や復元などを行う。場合によってはこのステップを何度か繰り返す。
- 中心リポジトリに加えられた他人による変更をローカルに反映させる (git pull)。他人の変更内容が自分の変更内容と衝突することもある。衝突は、gitが自動で解決できることもあれば、手動で解決しなければならないこともある (git merge)。
- ローカルの変更内容を中心リポジトリに反映させる (git push)。ステップ2.へ戻る。
リポジトリ間の通信 (clone, pull, push) では以下のプロトコルが使用できる[6]。
rsyncやFTP/FTPSは、もはや使うべきではないとされている[7]。
|
- ^ “Git v2.12 Release Notes” (2017年2月24日). 2017年3月9日閲覧。
- ^ Tech Talk: Linus Torvalds on git (1分30秒の発音)
- ^ git - IT用語辞典e-words
- ^ git - IT用語辞典 - 日立ソリューションズ
- ^ 「使い始める-Git略史」『Git Pro』 Git --distributed-is-the-new-centralized
- ^ a b c d e Scott Chacon. “4.1 Git サーバー - プロトコル”. 2013年1月19日閲覧。
- ^ “git-clone(1) Manual Page”. 2013年1月19日閲覧。
- ^ Linus Torvalds (2006年5月5日). “Re: [ANNOUNCE] Git wiki”. linux-kernel mailing list. 2009年3月3日閲覧。 gitの元となったプログラムに関する歴史的経緯
- ^ Linus Torvalds (2005年4月7日). “Re: Kernel SCM saga”. linux-kernel mailing list. 2009年3月3日閲覧。
- ^ Linus Torvalds (2005年4月8日). “Re: Kernel SCM saga”. linux-kernel mailing list. 2008年2月20日閲覧。
- ^ Linus Torvalds (2006年3月23日). “Re: Errors GITtifying GCC and Binutils”. git mailing list. 2009年3月3日閲覧。
- ^ Linus Torvalds (2006年10月19日). “Re: VCS comparison table”. git mailing list. 2009年3月3日閲覧。
- ^ Stenback, Johnny (2006-11-30), “bzr/hg/git performance”, Jst's Blog 2008年2月20日閲覧。, "git diff"と"bzr diff"のベンチマーク結果の比較。ケースによっては、gitの処理速度はBazzarの100倍以上になる。
- ^ Roland Dreier (2006年11月13日). “Oh what a relief it is”. 2009年3月3日閲覧。, "git log"は"svn log"と比較して100倍以上高速だが、これは後者はリモートのサーバにアクセスする必要があるためである。
- ^ Linus Torvalds (2006年10月18日). “Re: VCS comparison table”. git mailing list. 2009年3月3日閲覧。, gitのスクリプト指向デザインについて
- ^ iabervon (2005年12月22日). “Git rocks!”. 2009年3月3日閲覧。, gitを使ったスクリプトの書きやすさに関する賞賛
- ^ “Git User's Manual” (2007年8月5日). 2009年3月3日閲覧。
- ^ Linus Torvalds (2005年4月10日). “Re: more git updates..”. linux-kernel mailing list. 2009年3月3日閲覧。
- ^ Bruno Haible (2007年2月11日). “how to speed up "git log"?”. git mailing list. 2009年3月3日閲覧。
- ^ Linus Torvalds (2006年3月1日). “Re: impure renames / history tracking”. git mailing list. 2009年3月3日閲覧。
- ^ Junio C Hamano (2006年3月24日). “Re: Errors GITtifying GCC and Binutils”. git mailing list. 2009年3月3日閲覧。
- ^ Junio C Hamano (2006年3月23日). “Re: Errors GITtifying GCC and Binutils”. git mailing list. 2009年3月3日閲覧。
- ^ Linus Torvalds (2006年11月28日). “Re: git and bzr”. git mailing list. 2009年3月3日閲覧。,
git-blame
コマンドを使用したソースファイル間のコードの移動の調査について - ^ Linus Torvalds (2007年7月18日). “git-merge(1)”. 2009年3月4日閲覧。
- ^ Linus Torvalds (2007年7月18日). “CrissCrossMerge”. 2009年3月4日閲覧。
- ^ “After controversy, Torvalds begins work on git”. InfoWorld. (2005-04-19). ISSN 0199-6649 2008年2月20日閲覧。.
- ^ GitFaq: Why the 'git' name?
- ^ Jonathan Corbet (2005-04-20), “How Tridge reverse engineered BitKeeper”, Linux Weekly News 2009年3月26日閲覧。
- ^ Linus Torvalds (2005年4月7日). “Re: Kernel SCM saga..”. linux-kernel mailing list. 2009年3月26日閲覧。
- ^ a b ここでは -mm ツリーメンテナのアンドリュー・モートンを指す。
- ^ Linus Torvalds (2005年10月31日). “Re: git versus CVS (versus bk)”. git mailing list. 2009年3月26日閲覧。
- ^ a b c d e f Linus Torvalds (05-03). Google tech talk: Linus Torvalds on git. 該当時間: 02:30 2007年5月16日閲覧。
- ^ Linus Torvalds (2007年6月10日). “Re: fatal: serious inflate inconsistency”. git mailing list. 2009年3月26日閲覧。 gitにおけるデータの完全性に関する設計目標に関する概要説明。
- ^ a b Linus Torvalds (2007年2月27日). “Re: Trivia: When did git self-host?”. git mailing list. 2009年3月26日閲覧。
- ^ Linus Torvalds (2005年4月6日). “Kernel SCM saga..”. linux-kernel mailing list. 2009年3月26日閲覧。
- ^ Linus Torvalds (2005年4月17日). “First ever real kernel git merge!”. git mailing list. 2009年3月26日閲覧。
- ^ Matt Mackall (2005年4月29日). “Mercurial 0.4b vs git patchbomb benchmark”. git mailing list. 2009年3月26日閲覧。
- ^ Linus Torvalds (2005年6月17日). “Linux 2.6.12”. git-commits-head mailing list. 2009年3月26日閲覧。
- ^ Linus Torvalds (2006年10月20日). “Re: VCS comparison table”. git mailing list. 2009年3月26日閲覧。 Git vs. BitKeeperの議論
- ^ Linus Torvalds (2005年7月27日). “Meet the new maintainer...”. git mailing list. 2009年3月26日閲覧。
- ^ Junio C Hamano (2005年12月21日). “ANNOUNCE: GIT 1.0.0”. git mailing list. 2009年3月26日閲覧。
GIT
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/11/03 03:16 UTC 版)
GIT(ヒット、ギット、またはG.I.T.)は、1980年代初頭にアルゼンチンのブエノスアイレスから生まれたロックとニューウェーブのグループで、パブロ・グジョット(ギターとボーカル)、ウィリー・イトゥリ(ドラムとボーカル)、アルフレド・トス(ボーカルとベース)で構成されている。
- 1 GITとは
- 2 GITの概要
Git
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/03/08 12:58 UTC 版)
Git(ギット[2][3])は、プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである。Linuxカーネルのソースコード管理に用いるためにリーナス・トーバルズによって開発され、それ以降ほかの多くのプロジェクトで採用されている。Linuxカーネルのような巨大プロジェクトにも対応できるように、動作速度に重点が置かれている。現在のメンテナは濱野純 (英語: Junio C Hamano) で、2005年7月から担当している。
- ^ LKML.ORG - the Linux Kernel Mailing List Archive
- ^ a b ここでは -mm ツリーメンテナのアンドリュー・モートンを指す。
- ^ 濱野 純; "[ANNOUNCE Git v2.44.0"]; 出版日: 2024年2月23日; 閲覧日: 2024年2月24日.
- ^ Tech Talk: Linus Torvalds on git. 該当時間: 1分30秒. 2014年7月21日閲覧。
- ^ “Git - IT用語辞典e-words”. 2014年7月29日閲覧。
- ^ Scott Chacon「1.2 使い始める-Git略史」『Pro Git』 。2021年3月7日閲覧。
- ^ a b c d e Scott Chacon. “4.1 Git サーバー - プロトコル”. 2013年1月19日閲覧。
- ^ Scott Chacon; Ben Straub. “Pro Git 2nd Edition 4.6 Gitサーバー - Smart HTTP”. 2021年8月26日閲覧。
- ^ “Git - user-manual Documentation” (英語). 2021年8月26日閲覧。 “(See also setup-git-server-over-http for a slightly more sophisticated setup using WebDAV which also allows pushing over HTTP.)”
- ^ “git-clone(1) Manual Page” (英語). 2017年6月14日閲覧。 “in addition, ftp, and ftps can be used for fetching, but this is inefficient and deprecated; do not use it”
- ^ “Documentation/RelNotes/2.8.0.txt” (英語). 2017年6月14日閲覧。 “The rsync:// transport has been removed.”
- ^ Linus Torvalds (5 May 2006). "Re: [ANNOUNCE] Git wiki". linux-kernel (Mailing list). 2009年3月3日閲覧。 Gitの元となったプログラムに関する歴史的経緯
- ^ Linus Torvalds (7 April 2005). "Re: Kernel SCM saga". linux-kernel (Mailing list). 2009年3月3日閲覧。
- ^ Linus Torvalds (8 April 2005). "Re: Kernel SCM saga". linux-kernel (Mailing list). 2008年2月20日閲覧。
- ^ Linus Torvalds (23 March 2006). "Re: Errors GITtifying GCC and Binutils". Git (Mailing list). 2009年3月3日閲覧。
- ^ Linus Torvalds (19 October 2006). "Re: VCS comparison table". Git (Mailing list). 2009年3月3日閲覧。
- ^ Stenback, Johnny (2006-11-30), “bzr/hg/git performance”, Jst's Blog 2008年2月20日閲覧。, "git diff"と"bzr diff"のベンチマーク結果の比較。ケースによっては、gitの処理速度はBazzarの100倍以上になる。
- ^ Roland Dreier (2006年11月13日). “Oh what a relief it is”. 2009年3月3日閲覧。, "git log"は"svn log"と比較して100倍以上高速だが、これは後者はリモートのサーバにアクセスする必要があるためである。
- ^ Linus Torvalds (18 October 2006). "Re: VCS comparison table". Git (Mailing list). 2009年3月3日閲覧。, Gitのスクリプト指向デザインについて
- ^ iabervon (2005年12月22日). “Git rocks!”. 2009年3月3日閲覧。, Gitを使ったスクリプトの書きやすさに関する賞賛
- ^ “Git User's Manual” (2007年8月5日). 2009年3月3日閲覧。
- ^ Linus Torvalds (10 April 2005). "Re: more git updates." linux-kernel (Mailing list). 2009年3月3日閲覧。
- ^ Bruno Haible (11 February 2007). "how to speed up "git log"?". Git (Mailing list). 2009年3月3日閲覧。
- ^ Linus Torvalds (1 March 2006). "Re: impure renames / history tracking". Git (Mailing list). 2009年3月3日閲覧。
- ^ Junio C Hamano (24 March 2006). "Re: Errors GITtifying GCC and Binutils". Git (Mailing list). 2009年3月3日閲覧。
- ^ Junio C Hamano (23 March 2006). "Re: Errors GITtifying GCC and Binutils". Git (Mailing list). 2009年3月3日閲覧。
- ^ Linus Torvalds (28 November 2006). "Re: git and bzr". Git (Mailing list). 2009年3月3日閲覧。,
git-blame
コマンドを使用したソースファイル間のコードの移動の調査について - ^ Linus Torvalds (2007年7月18日). “git-merge(1)”. 2009年3月4日閲覧。
- ^ Linus Torvalds (2007年7月18日). “CrissCrossMerge”. 2009年3月4日閲覧。
- ^ “After controversy, Torvalds begins work on git”. InfoWorld. (2005-04-19). ISSN 0199-6649 2008年2月20日閲覧。.
- ^ “GitFaq: Why the 'git' name?”. 2007年3月21日閲覧。
- ^ Jonathan Corbet (2005-04-20), “How Tridge reverse engineered BitKeeper”, Linux Weekly News 2009年3月26日閲覧。
- ^ Linus Torvalds (7 April 2005). "Re: Kernel SCM saga." linux-kernel (Mailing list). 2009年3月26日閲覧。
- ^ Linus Torvalds (31 October 2005). "Re: git versus CVS (versus bk)". Git (Mailing list). 2009年3月26日閲覧。
- ^ a b c d e f Linus Torvalds (3 May 2007). Google tech talk: Linus Torvalds on git. 該当時間: 02:30. 2007年5月16日閲覧。
- ^ Linus Torvalds (10 June 2007). "Re: fatal: serious inflate inconsistency". Git (Mailing list). 2009年3月26日閲覧。 Gitにおけるデータの完全性に関する設計目標に関する概要説明。
- ^ a b Linus Torvalds (27 February 2007). "Re: Trivia: When did git self-host?". Git (Mailing list). 2009年3月26日閲覧。
- ^ Linus Torvalds (6 April 2005). "Kernel SCM saga." linux-kernel (Mailing list). 2009年3月26日閲覧。
- ^ Linus Torvalds (17 April 2005). "First ever real kernel git merge!". Git (Mailing list). 2009年3月26日閲覧。
- ^ Matt Mackall (29 April 2005). "Mercurial 0.4b vs git patchbomb benchmark". Git (Mailing list). 2009年3月26日閲覧。
- ^ Linus Torvalds (17 June 2005). "Linux 2.6.12". git-commits-head (Mailing list). 2009年3月26日閲覧。
- ^ Linus Torvalds (20 October 2006). "Re: VCS comparison table". Git (Mailing list). 2009年3月26日閲覧。 Git vs. BitKeeperの議論
- ^ Linus Torvalds (27 July 2005). "Meet the new maintainer..." Git (Mailing list). 2009年3月26日閲覧。
- ^ 濱野純 (Junio C Hamano) (21 December 2005). "ANNOUNCE: GIT 1.0.0". Git (Mailing list). 2009年3月26日閲覧。
- ^ a b Scott Chacon (2011年8月31日). “GitHub Flow”. 2020年5月31日閲覧。
- ^ "#1 - anything in the master branch is deployable.
This is basically the only hard rule of the system."[43] - ^ “GitHub Guides”. 2020年5月31日閲覧。 “With GitHub, you can deploy from a branch for final testing in production before merging to master.”
- ^ "A merged version ... is committed, and your
HEAD
, index, and working tree are updated to it."[git 1] - ^ "Paths that merged cleanly are updated both in the index file and in your working tree."[git 1]
- ^ "When both sides made changes to the same area, however, Git cannot randomly pick one side over the other, and asks you to resolve it by leaving what both sides did to that area."[git 1]
- ^ "Edit the files into shape and git add them to the index. Use git commit or git merge --continue to seal the deal."[git 1]
- ^ "the branches to be merged must be tied together by a merge commit that has both of them as its parents."[git 1]
gitと同じ種類の言葉
固有名詞の分類
- gitのページへのリンク