git gitの概要

git

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/05/08 07:41 UTC 版)

git
gitのWebインターフェース、gitweb
開発元 濱野純, リーナス・トーバルズ, ほか多数
初版 2005年12月21日(11年前) (2005-12-21
最新版 2.12 - 2017年2月24日(2か月前) (2017-02-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.com
テンプレートを表示

gitでは、各ユーザのワーキングディレクトリに、全履歴を含んだリポジトリの完全な複製が作られる。したがって、ネットワークにアクセスできないなどの理由で中心リポジトリにアクセスできない環境でも、履歴の調査や変更の記録といったほとんどの作業を行うことができる。これが「分散型」と呼ばれる理由である。

背景および概要

Linuxカーネルの開発では、Linux Kernel Mailing Listに投稿される多数のパッチをメンテナーたちがソースコードに適用するという形式が採用されている。これらの作業を効率的に行うため、当初はBitKeeperというバージョン管理システムを用いていたが、このソフトウェアは商用ソフトウェアであった(クライアントはバイナリ版のみ無料で、サーバは商用だがBitMover社の好意で無料で使えていた)。この状況を快く思わない人々がBitKeeperのクローンを実装したことから、この環境が使えなくなってしまい(BitKeeper#ライセンス問題BitKeeper#価格変更を参照)、その代替として2005年にgitが開発された。[5]

Linuxカーネルの開発では、巨大なソースコードの集合を扱うため、変更点の抽出やリポジトリ操作ができるかぎり高速にできる必要がある。他の様々なバージョン管理システムをあたったが、満足のいくものがなかったため、gitではこのような問題も出来る限り解決できるよう、いくつかのアイデアが導入されている(この部分は、他のバージョン管理システムにも同様の機能が導入されるようになった)。

作業の流れ

gitは分散型のソースコード管理システムであるため、リモートサーバ等にある中心リポジトリの完全なコピーを手元(ローカル環境)に作成して、そのローカルリポジトリを使って作業を行う。

一般的な開発スタイルでは、大雑把に言えば、以下のようなステップの繰り返しで作業が行なわれる:

  1. リモートサーバ等にある中心リポジトリをローカルに複製する (git clone)。
  2. ローカルでコンテンツの修正・追加・削除を行い、ローカルリポジトリに変更履歴を記録する (git commit)。必要に応じて過去の状態の閲覧や復元などを行う。場合によってはこのステップを何度か繰り返す。
  3. 中心リポジトリに加えられた他人による変更をローカルに反映させる (git pull)。他人の変更内容が自分の変更内容と衝突することもある。衝突は、gitが自動で解決できることもあれば、手動で解決しなければならないこともある (git merge)。
  4. ローカルの変更内容を中心リポジトリに反映させる (git push)。ステップ2.へ戻る。

リポジトリ間の通信 (clone, pull, push) では以下のプロトコルが使用できる[6]

rsyncFTP/FTPSは、もはや使うべきではないとされている[7]




  1. ^ Git v2.12 Release Notes” (2017年2月24日). 2017年3月9日閲覧。
  2. ^ Tech Talk: Linus Torvalds on git (1分30秒の発音)
  3. ^ git - IT用語辞典e-words
  4. ^ git - IT用語辞典 - 日立ソリューションズ
  5. ^ 使い始める-Git略史」『Git Pro』 Git --distributed-is-the-new-centralized
  6. ^ a b c d e Scott Chacon. “4.1 Git サーバー - プロトコル”. 2013年1月19日閲覧。
  7. ^ git-clone(1) Manual Page”. 2013年1月19日閲覧。
  8. ^ Linus Torvalds (2006年5月5日). “Re: [ANNOUNCE] Git wiki”. linux-kernel mailing list.. http://marc.info/?l=git&m=114685143200012 2009年3月3日閲覧。  gitの元となったプログラムに関する歴史的経緯
  9. ^ Linus Torvalds (2005年4月7日). “Re: Kernel SCM saga”. linux-kernel mailing list.. http://lkml.org/lkml/2005/4/8/9 2009年3月3日閲覧。 
  10. ^ Linus Torvalds (2005年4月8日). “Re: Kernel SCM saga”. linux-kernel mailing list.. http://marc.info/?l=linux-kernel&m=111293537202443 2008年2月20日閲覧。 
  11. ^ Linus Torvalds (2006年3月23日). “Re: Errors GITtifying GCC and Binutils”. git mailing list.. http://marc.info/?l=git&m=114314642000462 2009年3月3日閲覧。 
  12. ^ Linus Torvalds (2006年10月19日). “Re: VCS comparison table”. git mailing list.. http://marc.info/?l=git&m=116128307511686 2009年3月3日閲覧。 
  13. ^ Stenback, Johnny (2006-11-30), “bzr/hg/git performance”, Jst's Blog, http://weblogs.mozillazine.org/jst/archives/2006/11/vcs_performance.html 2008年2月20日閲覧。 , "git diff"と"bzr diff"のベンチマーク結果の比較。ケースによっては、gitの処理速度はBazzarの100倍以上になる。
  14. ^ Roland Dreier (2006年11月13日). “Oh what a relief it is”. 2009年3月3日閲覧。, "git log"は"svn log"と比較して100倍以上高速だが、これは後者はリモートのサーバにアクセスする必要があるためである。
  15. ^ Linus Torvalds (2006年10月18日). “Re: VCS comparison table”. git mailing list.. http://marc.info/?l=git&m=116118369005954 2009年3月3日閲覧。 , gitのスクリプト指向デザインについて
  16. ^ iabervon (2005年12月22日). “Git rocks!”. 2009年3月3日閲覧。, gitを使ったスクリプトの書きやすさに関する賞賛
  17. ^ Git User's Manual” (2007年8月5日). 2009年3月3日閲覧。
  18. ^ Linus Torvalds (2005年4月10日). “Re: more git updates..”. linux-kernel mailing list.. http://marc.info/?l=linux-kernel&m=111314792424707 2009年3月3日閲覧。 
  19. ^ Bruno Haible (2007年2月11日). “how to speed up "git log"?”. git mailing list.. http://marc.info/?l=git&m=117119479505638 2009年3月3日閲覧。 
  20. ^ Linus Torvalds (2006年3月1日). “Re: impure renames / history tracking”. git mailing list.. http://marc.info/?l=git&m=114123702826251 2009年3月3日閲覧。 
  21. ^ Junio C Hamano (2006年3月24日). “Re: Errors GITtifying GCC and Binutils”. git mailing list.. http://marc.info/?l=git&m=114316047119262 2009年3月3日閲覧。 
  22. ^ Junio C Hamano (2006年3月23日). “Re: Errors GITtifying GCC and Binutils”. git mailing list.. http://marc.info/?l=git&m=114315795227271 2009年3月3日閲覧。 
  23. ^ Linus Torvalds (2006年11月28日). “Re: git and bzr”. git mailing list.. http://marc.info/?l=git&m=116473016012824 2009年3月3日閲覧。 , git-blameコマンドを使用したソースファイル間のコードの移動の調査について
  24. ^ Linus Torvalds (2007年7月18日). “git-merge(1)”. 2009年3月4日閲覧。
  25. ^ Linus Torvalds (2007年7月18日). “CrissCrossMerge”. 2009年3月4日閲覧。
  26. ^ “After controversy, Torvalds begins work on git”. InfoWorld. (2005-04-19). ISSN 0199-6649. http://www.infoworld.com/article/05/04/19/HNtorvaldswork_1.html 2008年2月20日閲覧。. 
  27. ^ GitFaq: Why the 'git' name?
  28. ^ Jonathan Corbet (2005-04-20), “How Tridge reverse engineered BitKeeper”, Linux Weekly News, http://lwn.net/Articles/132938/ 2009年3月26日閲覧。 
  29. ^ Linus Torvalds (2005年4月7日). “Re: Kernel SCM saga..”. linux-kernel mailing list.. http://marc.info/?l=linux-kernel&m=111288700902396 2009年3月26日閲覧。 
  30. ^ a b ここでは -mm ツリーメンテナのアンドリュー・モートンを指す。
  31. ^ Linus Torvalds (2005年10月31日). “Re: git versus CVS (versus bk)”. git mailing list.. http://marc.info/?l=git&m=113072612805233&w=2 2009年3月26日閲覧。 
  32. ^ a b c d e f Linus Torvalds (05-03). Google tech talk: Linus Torvalds on git. 該当時間: 02:30. http://www.youtube.com/watch?v=4XpnKHJAok8 2007年5月16日閲覧。 
  33. ^ Linus Torvalds (2007年6月10日). “Re: fatal: serious inflate inconsistency”. git mailing list.. http://marc.info/?l=git&m=118143549107708 2009年3月26日閲覧。  gitにおけるデータの完全性に関する設計目標に関する概要説明。
  34. ^ a b Linus Torvalds (2007年2月27日). “Re: Trivia: When did git self-host?”. git mailing list.. http://marc.info/?l=git&m=117254154130732 2009年3月26日閲覧。 
  35. ^ Linus Torvalds (2005年4月6日). “Kernel SCM saga..”. linux-kernel mailing list.. http://marc.info/?l=linux-kernel&m=111280216717070 2009年3月26日閲覧。 
  36. ^ Linus Torvalds (2005年4月17日). “First ever real kernel git merge!”. git mailing list.. http://marc.info/?l=git&m=111377572329534 2009年3月26日閲覧。 
  37. ^ Matt Mackall (2005年4月29日). “Mercurial 0.4b vs git patchbomb benchmark”. git mailing list.. http://marc.info/?l=git&m=111475459526688 2009年3月26日閲覧。 
  38. ^ Linus Torvalds (2005年6月17日). “Linux 2.6.12”. git-commits-head mailing list.. http://marc.info/?l=git-commits-head&m=111904216911731 2009年3月26日閲覧。 
  39. ^ Linus Torvalds (2006年10月20日). “Re: VCS comparison table”. git mailing list.. http://marc.info/?l=git&m=116129092117475 2009年3月26日閲覧。  Git vs. BitKeeperの議論
  40. ^ Linus Torvalds (2005年7月27日). “Meet the new maintainer...”. git mailing list.. http://marc.info/?l=git&m=112243466603239 2009年3月26日閲覧。 
  41. ^ Junio C Hamano (2005年12月21日). “ANNOUNCE: GIT 1.0.0”. git mailing list.. http://marc.info/?l=git&m=113515203321888 2009年3月26日閲覧。 


「git」の続きの解説一覧

GIT

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/11/03 03:16 UTC 版)


GIT(ヒット、ギット、またはG.I.T.)は、1980年代初頭にアルゼンチンブエノスアイレスから生まれたロックとニューウェーブのグループで、パブロ・グジョット(ギターとボーカル)、ウィリー・イトゥリ(ドラムとボーカル)、アルフレド・トス(ボーカルとベース)で構成されている。




「GIT」の続きの解説一覧

Git

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/03/08 12:58 UTC 版)

Git(ギット[2][3])は、プログラムソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである。Linuxカーネルのソースコード管理に用いるためにリーナス・トーバルズによって開発され、それ以降ほかの多くのプロジェクトで採用されている。Linuxカーネルのような巨大プロジェクトにも対応できるように、動作速度に重点が置かれている。現在のメンテナは濱野純 (英語: Junio C Hamano) で、2005年7月から担当している。


  1. ^ 濱野 純; "[ANNOUNCE Git v2.44.0"]; 出版日: 2024年2月23日; 閲覧日: 2024年2月24日.
  2. ^ Tech Talk: Linus Torvalds on git. 該当時間: 1分30秒. 2014年7月21日閲覧
  3. ^ Git - IT用語辞典e-words”. 2014年7月29日閲覧。
  4. ^ Scott Chacon「1.2 使い始める-Git略史」『Pro Git』https://git-scm.com/book/ja/v2/%E4%BD%BF%E3%81%84%E5%A7%8B%E3%82%81%E3%82%8B-Git%E7%95%A5%E5%8F%B22021年3月7日閲覧 
  5. ^ a b c d e Scott Chacon. “4.1 Git サーバー - プロトコル”. 2013年1月19日閲覧。
  6. ^ Scott Chacon; Ben Straub. “Pro Git 2nd Edition 4.6 Gitサーバー - Smart HTTP”. 2021年8月26日閲覧。
  7. ^ 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.)”
  8. ^ 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”
  9. ^ Documentation/RelNotes/2.8.0.txt” (英語). 2017年6月14日閲覧。 “The rsync:// transport has been removed.”
  10. ^ Linus Torvalds (5 May 2006). "Re: [ANNOUNCE] Git wiki". linux-kernel (Mailing list). 2009年3月3日閲覧 Gitの元となったプログラムに関する歴史的経緯
  11. ^ Linus Torvalds (7 April 2005). "Re: Kernel SCM saga". linux-kernel (Mailing list). 2009年3月3日閲覧
  12. ^ Linus Torvalds (8 April 2005). "Re: Kernel SCM saga". linux-kernel (Mailing list). 2008年2月20日閲覧
  13. ^ Linus Torvalds (23 March 2006). "Re: Errors GITtifying GCC and Binutils". Git (Mailing list). 2009年3月3日閲覧
  14. ^ Linus Torvalds (19 October 2006). "Re: VCS comparison table". Git (Mailing list). 2009年3月3日閲覧
  15. ^ Stenback, Johnny (2006-11-30), “bzr/hg/git performance”, Jst's Blog, http://weblogs.mozillazine.org/jst/archives/2006/11/vcs_performance.html 2008年2月20日閲覧。 , "git diff"と"bzr diff"のベンチマーク結果の比較。ケースによっては、gitの処理速度はBazzarの100倍以上になる。
  16. ^ Roland Dreier (2006年11月13日). “Oh what a relief it is”. 2009年3月3日閲覧。, "git log"は"svn log"と比較して100倍以上高速だが、これは後者はリモートのサーバにアクセスする必要があるためである。
  17. ^ Linus Torvalds (18 October 2006). "Re: VCS comparison table". Git (Mailing list). 2009年3月3日閲覧, Gitのスクリプト指向デザインについて
  18. ^ iabervon (2005年12月22日). “Git rocks!”. 2009年3月3日閲覧。, Gitを使ったスクリプトの書きやすさに関する賞賛
  19. ^ Git User's Manual” (2007年8月5日). 2009年3月3日閲覧。
  20. ^ Linus Torvalds (10 April 2005). "Re: more git updates." linux-kernel (Mailing list). 2009年3月3日閲覧
  21. ^ Bruno Haible (11 February 2007). "how to speed up "git log"?". Git (Mailing list). 2009年3月3日閲覧
  22. ^ Linus Torvalds (1 March 2006). "Re: impure renames / history tracking". Git (Mailing list). 2009年3月3日閲覧
  23. ^ Junio C Hamano (24 March 2006). "Re: Errors GITtifying GCC and Binutils". Git (Mailing list). 2009年3月3日閲覧
  24. ^ Junio C Hamano (23 March 2006). "Re: Errors GITtifying GCC and Binutils". Git (Mailing list). 2009年3月3日閲覧
  25. ^ Linus Torvalds (28 November 2006). "Re: git and bzr". Git (Mailing list). 2009年3月3日閲覧, git-blameコマンドを使用したソースファイル間のコードの移動の調査について
  26. ^ Linus Torvalds (2007年7月18日). “git-merge(1)”. 2009年3月4日閲覧。
  27. ^ Linus Torvalds (2007年7月18日). “CrissCrossMerge”. 2009年3月4日閲覧。
  28. ^ “After controversy, Torvalds begins work on git”. InfoWorld. (2005-04-19). ISSN 0199-6649. http://www.infoworld.com/article/05/04/19/HNtorvaldswork_1.html 2008年2月20日閲覧。. 
  29. ^ GitFaq: Why the 'git' name?”. 2007年3月21日閲覧。
  30. ^ Jonathan Corbet (2005-04-20), “How Tridge reverse engineered BitKeeper”, Linux Weekly News, http://lwn.net/Articles/132938/ 2009年3月26日閲覧。 
  31. ^ Linus Torvalds (7 April 2005). "Re: Kernel SCM saga." linux-kernel (Mailing list). 2009年3月26日閲覧
  32. ^ Linus Torvalds (31 October 2005). "Re: git versus CVS (versus bk)". Git (Mailing list). 2009年3月26日閲覧
  33. ^ a b c d e f Linus Torvalds (3 May 2007). Google tech talk: Linus Torvalds on git. 該当時間: 02:30. 2007年5月16日閲覧
  34. ^ Linus Torvalds (10 June 2007). "Re: fatal: serious inflate inconsistency". Git (Mailing list). 2009年3月26日閲覧 Gitにおけるデータの完全性に関する設計目標に関する概要説明。
  35. ^ a b Linus Torvalds (27 February 2007). "Re: Trivia: When did git self-host?". Git (Mailing list). 2009年3月26日閲覧
  36. ^ Linus Torvalds (6 April 2005). "Kernel SCM saga." linux-kernel (Mailing list). 2009年3月26日閲覧
  37. ^ Linus Torvalds (17 April 2005). "First ever real kernel git merge!". Git (Mailing list). 2009年3月26日閲覧
  38. ^ Matt Mackall (29 April 2005). "Mercurial 0.4b vs git patchbomb benchmark". Git (Mailing list). 2009年3月26日閲覧
  39. ^ Linus Torvalds (17 June 2005). "Linux 2.6.12". git-commits-head (Mailing list). 2009年3月26日閲覧
  40. ^ Linus Torvalds (20 October 2006). "Re: VCS comparison table". Git (Mailing list). 2009年3月26日閲覧 Git vs. BitKeeperの議論
  41. ^ Linus Torvalds (27 July 2005). "Meet the new maintainer..." Git (Mailing list). 2009年3月26日閲覧
  42. ^ 濱野純 (Junio C Hamano) (21 December 2005). "ANNOUNCE: GIT 1.0.0". Git (Mailing list). 2009年3月26日閲覧
  43. ^ a b Scott Chacon (2011年8月31日). “GitHub Flow”. 2020年5月31日閲覧。
  44. ^ "#1 - anything in the master branch is deployable.
    This is basically the only hard rule of the system."[43]
  45. ^ GitHub Guides”. 2020年5月31日閲覧。 “With GitHub, you can deploy from a branch for final testing in production before merging to master.”
  46. ^ "A merged version ... is committed, and your HEAD, index, and working tree are updated to it."[git 1]
  47. ^ "Paths that merged cleanly are updated both in the index file and in your working tree."[git 1]
  48. ^ "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]
  49. ^ "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]
  50. ^ "the branches to be merged must be tied together by a merge commit that has both of them as its parents."[git 1]
  1. ^ a b c d e git-merge - git 2020-11-01閲覧






gitと同じ種類の言葉


固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「git」の関連用語

gitのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



gitのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのgit (改訂履歴)、GIT (改訂履歴)、Git (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS