Knowledge (XXG)

Git

Source 📝

4656:
tags, and other references in the repository before the client had a chance to send anything. For some repositories, this could mean sending megabytes of extra data, when the client really only wanted to know about the master branch. The new protocol starts with the client request and provides a way for the client to tell the server which references it's interested in. Fetching a single branch will only ask about that branch, while most clones will only ask about branches and tags. This might seem like everything, but server repositories may store other references (such as the head of every pull request opened in the repository since its creation). Now, fetches from large repositories improve in speed, especially when the fetch itself is small, which makes the cost of the initial reference advertisement more expensive relatively speaking. And the best part is that you won't need to do anything! Due to some clever design, any client that speaks the new protocol can work seamlessly with both old and new servers, falling back to the original protocol if the server doesn't support it. The only reason for the delay between introducing the protocol and making it the default was to let early adopters discover any bugs.
5615: 2238: 5484: 299: 176: 134: 2266: 2133:, is a request by a user to merge a branch into another branch. Git does not itself provide for pull requests, but it is a common feature of git cloud services. The underlying function of a pull request is no different than that of an administrator of a repository pulling changes from another remote (the repository that is the source of the pull request). However, the pull request itself is a ticket managed by the hosting server which perform these actions; it is not a feature of git SCM. 1603: 768:
repacking is needed to maintain space efficiency. The process of packing the repository can be very computationally costly. By allowing objects to exist in the repository in a loose but quickly generated format, Git allows the costly pack operation to be deferred until later, when time matters less, e.g., the end of a workday. Git does periodic repacking automatically, but manual repacking is also possible with the
1538: 931: 1497: 850:-intensive work every time the history is reviewed, and several options to adjust the heuristics are available. This mechanism does not always work; sometimes a file that is renamed with changes in the same commit is read as a deletion of the old file and the creation of a new file. Developers can work around this limitation by committing the rename and the changes separately. 71: 1196: 62: 2252: 1341: 1269:, a Unix-like emulation environment for Windows) and various other Windows ports or emulations of Linux utilities and libraries. Currently, native Windows builds of Git are distributed as 32- and 64-bit installers. The git official website currently maintains a build of Git for Windows, still using the MSYS2 environment. 800:(RCS) the (mostly similar) versions. Later revision-control systems maintained this notion of a file having an identity across multiple revisions of a project. However, Torvalds rejected this concept. Consequently, Git does not explicitly record file revision relationships at any level below the source-code tree. 607:
Git's design is a synthesis of Torvalds's experience with Linux in maintaining a large distributed development project, along with his intimate knowledge of file-system performance gained from the same project and the urgent need to produce a working system in short order. These influences led to the
439:
version control system. It is the most popular distributed version control system, with nearly 95% of developers reporting it as their primary version control system as of 2022. It is the most widely used source-code management tool among professional developers. There are offerings of Git repository
2185:
Git version 2.6.1, released on 29 September 2015, contained a patch for a security vulnerability (CVE-2015-7545) that allowed arbitrary code execution. The vulnerability was exploitable if an attacker could convince a victim to clone a specific URL, as the arbitrary commands were embedded in the URL
1383:
web server. Gerrit provides integration for LDAP, Active Directory, OpenID, OAuth, Kerberos/GSSAPI, X509 https client certificates. With Gerrit 3.0 all configurations will be stored as Git repositories, and no database is required to run. Gerrit has a pull-request feature implemented in its core but
1355:
which starts a simple TCP server running on the Git protocol. Dedicated Git HTTP servers help (amongst other features) by adding access control, displaying the contents of a Git repository via the web interfaces, and managing multiple repositories. Already existing Git repositories can be cloned and
767:
that files with the same name are probably similar, without depending on this for correctness. A corresponding index file is created for each packfile, telling the offset of each object in the packfile. Newly created objects (with newly added history) are still stored as single objects, and periodic
1142:
Every object in the Git database that is not referred to may be cleaned up by using a garbage collection command or automatically. An object may be referenced by another object or an explicit reference. Git has different types of references. The commands to create, move, and delete references vary.
829:
files are sometimes split or merged, or simply renamed, and recording this as a simple rename would freeze an inaccurate description of what happened in the (immutable) history. Git addresses the issue by detecting renames while browsing the history of snapshots rather than recording it when making
2181:
configuration file, which allows the attacker to create malicious Git aliases (aliases for Git commands or external commands) or modify extant aliases to execute malicious commands when run. The vulnerability was patched in version 2.2.1 of Git, released on 17 December 2014, and announced the next
1765:
reported in its annual community survey that as of May 2014, Git is now the most widely used source-code management tool, with 42.9% of professional software developers reporting that they use Git as their primary source-control system compared with 36.3% in 2013, 32% in 2012; or for Git responses
879:
When there are more than one common ancestors that can be used for a three-way merge, it creates a merged tree of the common ancestors and uses that as the reference tree for the three-way merge. This has been reported to result in fewer merge conflicts without causing mis-merges by tests done on
503:
Torvalds wanted a distributed system that he could use like BitKeeper, but none of the available free systems met his needs. He cited an example of a source-control management system needing 30 seconds to apply a patch and update all associated metadata, and noted that this would not scale to the
4655:
You may remember when Git introduced a new version of its network fetch protocol way back in 2018. That protocol is now used by default in 2.26, so let's refresh ourselves on what that means. The biggest problem with the old protocol is that the server would immediately list all of the branches,
2113:
by committing another change which reverses an earlier commit. This prevents shared commits from being invalid because the commit on which they are based does not exist in the remote. If the commits contain sensitive information, they should be removed, which involves a more complex procedure to
820:
is that it uses the name of a file to identify its revision history, so moving or renaming a file is not possible without either interrupting its history or renaming the history and thereby making the history inaccurate. Most post-CVS revision-control systems solve this by giving a file a unique
812:
It is slightly more costly to examine the change history of one file than the whole project. To obtain a history of changes affecting a given file, Git must walk the global history and then determine whether each change modified that file. This method of examining history does, however, let Git
4793:
Stack Overflow's annual Developer Survey is the largest and most comprehensive survey of people who code around the world. Each year, we field a survey covering everything from developers' favorite technologies to their job preferences. This year marks the ninth year we've published our annual
1033:
Git stores each revision of a file as a unique blob. The relationships between the blobs can be found through examining the tree and commit objects. Newly added objects are stored in their entirety using zlib compression. This can consume a large amount of disk space quickly, so objects can be
615:
Git supports rapid branching and merging, and includes specific tools for visualizing and navigating a non-linear development history. In Git, a core assumption is that a change will be merged more often than it is written, as it is passed around to various reviewers. In Git, branches are very
1668:
GUI clients make Git easier to learn and use, improving workflow efficiency and reducing errors. Popular options include cross-platform GitKraken Desktop (freemium) and Sourcetree (free/paid), or platform-specific choices like GitHub Desktop (free) for Windows/macOS and TortoiseGit (free) for
1654:
These GUIs provide visual representations of your project's history, including branches, commits, and file changes. They also streamline actions like staging changes, creating commits, and managing branches. Visual diff tools help resolve merge conflicts arising from concurrent development.
533:
the next day. The first merge of multiple branches took place on 18 April. Torvalds achieved his performance goals; on 29 April, the nascent Git was benchmarked recording patches to the Linux kernel tree at a rate of 6.7 patches per second. On 16 June, Git managed the kernel 2.6.12 release.
2039:, like Git LFS, which started as an extension to Git in the GitHub community and is now widely used by other repositories. Extensions are usually independently developed and maintained by different people, but at some point in the future, a widely used extension can be merged with Git. 987:
object is the equivalent of a directory. It contains a list of file names, each with some type bits and a reference to a blob or tree object that is that file, symbolic link, or directory's contents. These objects are a snapshot of the source tree. (In whole, this comprises a
642:, Git gives each developer a local copy of the full development history, and changes are copied from one such repository to another. These changes are imported as added development branches and can be merged in the same way as a locally developed branch. 1784:
in their annual developer survey in 2015 (16,694 responses), 2017 (30,730 responses), 2018 (74,298 responses) and 2022 (71,379 responses). Git was the overwhelming favorite of responding developers in these surveys, reporting as high as 93.9% in 2022.
2173:(downloads) a version of the repository with the malicious directory, then switches to that directory, the .git directory will be overwritten (due to the case-insensitive trait of the Windows and Mac filesystems) and the malicious executable files in 726:
As part of its toolkit design, Git has a well-defined model of an incomplete merge, and it has multiple algorithms for completing it, culminating in telling the user that it is unable to complete the merge automatically and that manual editing is
504:
needs of Linux kernel development, where synchronizing with fellow maintainers could require 250 such actions at once. For his design criterion, he specified that patching should take no more than three seconds, and added three more goals:
1313:
The libgit2 implementation of Git is an ANSI C software library with no other dependencies, which can be built on multiple platforms, including Windows, Linux, macOS, and BSD. It has bindings for many programming languages, including
2190:
if the connection was unencrypted, as they could redirect the user to a URL of their choice. Recursive clones were also vulnerable since they allowed the controller of a repository to specify arbitrary URLs via the gitmodules file.
2121:
workflow and naming conventions are often adopted to distinguish feature-specific unstable histories (feature/*), unstable shared histories (develop), production-ready histories (main), and emergency patches to released products
5087:
The "master" branch in Git is not a special branch. It is exactly like any other branch. The only reason nearly every repository has one is that the git init command creates it by default and most people don't bother to change
1029:
of its contents. Git computes the hash and uses this value for the object's name. The object is put into a directory matching the first two characters of its hash. The rest of the hash is used as the file name for that object.
736:
Aborting operations or backing out changes will leave useless dangling objects in the database. These are generally a small fraction of the continuously growing history of wanted objects. Git will automatically perform
719:
and several shell scripts that provide wrappers around those programs. Although most of those scripts have since been rewritten in C for speed and portability, the design remains, and it is easy to chain the components
696:
in Git terms) depends upon the complete development history leading up to that commit. Once it is published, it is not possible to change the old versions without it being noticed. The structure is similar to a
992:, meaning that only a single hash for the root tree is sufficient and actually used in commits to precisely pinpoint to the exact state of whole tree structures of any number of sub-directories and files.) 999:
object links tree objects together into history. It contains the name of a tree object (of the top-level source directory), a timestamp, a log message, and the names of zero or more parent commit objects.
813:
produce with equal efficiency a single history showing the changes to an arbitrary set of files. For example, a subdirectory of the source tree plus an associated global header file is a very common case.
5167:
Reverting has two important advantages over resetting. First, it doesn't change the project history, which makes it a "safe" operation for commits that have already been published to a shared repository.
5022: 1356:
shared to be used by others as a centralized repo. It can also be accessed via remote shell just by having the Git software installed and allowing a user to log in. Git servers typically listen on
5423: 927:
From this initial design approach, Git has developed the full set of features expected of a traditional SCM, with features mostly being created as needed, then refined and extended over time.
1651:
Git, a powerful version control system, can be daunting with its command-line interface. Git GUI clients offer a graphical user interface (GUI) to simplify interaction with Git repositories.
1665:
In addition to the official GUI, many 3rd party interfaces exist that provide similar features to the official GUI distributed with Git, such as GitHub Desktop, SourceTree, and TortoiseGit.
980:. Blobs have no proper file name, time stamps, or other metadata (a blob's name internally is a hash of its content). In Git, each blob is a version of a file, in which is the file's data. 2011:
The UK IT jobs website itjobswatch.co.uk reports that as of late September 2016, 29.27% of UK permanent software development job openings have cited Git, ahead of 12.17% for Microsoft
2161:(a directory in Git repositories that stores all the data of the repository) in a different case (such as .GIT or .Git, needed because Git does not allow the all-lowercase version of 580:
Random three-letter combination that is pronounceable, and not actually used by any common UNIX command. The fact that it is a mispronunciation of "get" may or may not be relevant.
526:
These criteria eliminated every version-control system in use at the time, so immediately after the 2.6.12-rc2 Linux kernel development release, Torvalds set out to write his own.
1045:
Additionally, Git stores labels called refs (short for references) to indicate the locations of various commits. They are stored in the reference database and are respectively:
751:
Git stores each newly created object as a separate file. Although individually compressed, this takes up a great deal of space and is inefficient. This is solved by the use of
3037: 5709: 2169:
subdirectory (a folder with executable files that Git runs) on a repository that the attacker made or on a repository that the attacker can modify. If a Windows or Mac user
1249:
of Git was primarily a Linux-emulation framework that hosts the Linux version. Installing Git under Windows creates a similarly named Program Files directory containing the
5511: 5441: 2210:
attack against git in 2017, git was modified to use a SHA-1 variant resistant to this attack. A plan for hash function transition is being written since February 2020.
3227: 1134:
be tracked by Git. This feature can be used to ignore files with keys or passwords, various extraneous files, and large files (which GitHub will refuse to upload).
5074: 5742: 4265: 5014: 4722: 1006:
object is a container that contains a reference to another object and can hold added meta-data related to another object. Most commonly, it is used to store a
6083: 4036: 3285: 2279: 1462: 5419: 3414: 1662:, which allows users to perform actions such as creating and amending commits, creating and merging branches, and interacting with remote repositories. 5365: 4589: 2386: 5135: 4748: 6118: 6098: 5333: 3383: 3437: 5272: 4858: 3197: 4832: 3540: 6113: 410:
machines. Although all repos (with the same history) are peers, developers often use a central server to host a repo to hold an integrated copy.
4914: 4515: 6093: 6088: 6039: 5845: 5579: 5504: 4806: 2284: 3315: 3734: 2765: 738: 4275: 2243: 1677:
While Git provides built-in GUI tools (git-gui, gitk), a wider range of third-party options cater to platform-specific user preferences.
6078: 5947: 3338: 406:
changes between repos that share history; copied (cloned) from each other. For collaboration, Git supports synchronizing with repos on
5748: 4888: 4642: 4571: 4307: 664:(ssh). Git also has a CVS server emulation, which enables the use of existing CVS clients and IDE plugins to access Git repositories. 403: 3239:
slang meaning 'a rotten person', he said. 'I'm an egotistical bastard, so I name all my projects after myself. First Linux, now git.'
2586: 586:"Global information tracker": you're in a good mood, and it actually works for you. Angels sing, and a light suddenly fills the room. 541:
on 26 July 2005 to Junio Hamano, a major contributor to the project. Hamano was responsible for the 1.0 release on 21 December 2005.
5497: 4992: 3029: 2814: 2309: 2198:
hashes internally. Linus Torvalds has responded that the hash was mostly to guard against accidental corruption, and the security a
1638: 1585: 1524: 776:
checksum inside, and the file name of the packfile also contains an SHA-1 checksum. To check the integrity of a repository, run the
686:; fetching version history from a locally stored repository can be one hundred times faster than fetching it from the remote server. 2980: 2142:
Git does not provide access-control mechanisms, but was designed for operation with other tools that specialize in access control.
1351:
As Git is a distributed version control system, it could be used as a server out of the box. It is shipped with a built-in command
784:
Another property of Git is that it snapshots directory trees of files. The earliest systems for tracking versions of source code,
6123: 6046: 6032: 5295: 4536: 2289: 1176:, a configuration in a bare repository, user rights; the refs/meta/config namespace was introduced retrospectively, gets used by 4940: 3235:
seemed aware that his decision to drop BitKeeper would also be controversial. When asked why he called the new software, 'git',
5614: 5245: 4966: 1847: 880:
prior merge commits taken from Linux 2.6 kernel development history. Also, this can detect and handle merges involving renames.
5437: 6108: 5778: 2528: 1563: 1319: 3794: 3219: 2883: 2560: 2416: 5546: 4766: 1423: 1307: 414: 214: 5066: 4397: 4191: 2908: 2074:. VFS for Git allows cloned repositories to use placeholders whose contents are downloaded only once a file is accessed. 6013: 2788: 2693: 2223: 1444:, which is, in turn, a fork of Gitea. Gogs, as well as the two aforementioned derivatives of it, is developed using the 764: 674:
Torvalds has described Git as being very fast and scalable, and performance tests done by Mozilla showed that it was an
425: 387: 147: 4084: 2949: 5998: 5957: 5952: 5801: 5785: 4718: 2842: 2464: 2199: 2063: 1916: 1315: 1026: 912: 653: 365: 332: 125: 1548: 1433:
External projects like gitolite, which provide scripts on top of Git software to provide fine-grained access control.
476:(SCM) system used for Linux kernel development since 2002, was revoked for Linux. The copyright holder of BitKeeper, 5397: 5636: 5560: 1884: 1357: 1231: 817: 785: 730: 509: 418: 278: 238: 4429: 4028: 3277: 3255: 2094:. Often it is used as the integration branch for merging changes into. Since the default upstream remote is named 1567: 1552: 1932: 1445: 1292: 741:
when enough loose objects have been created in the repository. Garbage collection can be called explicitly using
4120: 3749: 5969: 5216: 5179: 5052: 4371: 4339: 2631: 2187: 2154: 1659: 1273: 716: 530: 190: 3484: 3410: 5355: 4586: 2378: 876:: This is the default when pulling or merging one branch, and is a variant of the three-way merge algorithm. 825:
number) that survives renaming. Git does not record such an identifier, and this is claimed as an advantage.
6103: 6068: 6003: 5910: 5690: 5554: 5329: 4000: 2055:, a set of Git extensions to provide high-level repository operations for Vincent Driessen's branching model 1254: 1199: 915:, and it has a notion of versioning, but I really designed it coming at the problem from the viewpoint of a 789: 3387: 2771: 2728: 6073: 4062: 3429: 2012: 1074: 1052:: Named references that are advanced automatically to the new commit when a commit is made on top of them. 657: 493: 5268: 4744: 4559: 3419:, observing that "git log" is 100x faster than "svn log" because the latter must contact a remote server. 3193: 5919: 5772: 4862: 4836: 3536: 2718: 2496: 399: 361: 3307: 2177:
may be run, which results in the attacker's commands being executed. An attacker could also modify the
4910: 4512: 4169: 2265: 1064:: Like branch references, but fixed to a particular commit. Used to label important points in history. 5571: 5158: 1559: 1510: 1415: 1288: 538: 347: 31: 4810: 954:) that caches information about the working directory and the next revision to be committed; and an 5904: 5884: 5694: 5684: 5680: 4794:
Developer Survey results, and nearly 90,000 developers took the 20-minute survey earlier this year.
1771: 706: 639: 529:
The development of Git began on 3 April 2005. Torvalds announced the project on 6 April and became
489: 261: 3730: 298: 133: 75:
A command-line session showing repository creation, addition of a file, and remote synchronization
5986: 5702: 1762: 1380: 1281: 859:
Git implements several merging strategies; a non-default strategy can be selected at merge time:
793: 675: 395: 198: 4884: 1114:
the files from the current working directory (so they are now part of the repository's history).
402:
with additional, hidden files to provide version control capabilities. Git provides features to
383: 4911:"Team Foundation Server Jobs, Average Salary for Microsoft Team Foundation Server (TFS) Skills" 2058:
git-machete, a repository organizer & tool for automating rebase/merge/pull/push operations
5852: 5824: 5654: 4567: 4488: 3897: 3138: 2761: 2203: 2067: 2052: 2024: 2016: 1828: 1405: 1375:, a Git server configurable to support code reviews and provide access via ssh, an integrated 1372: 1277: 1239: 1177: 1007: 838: − 1 is its default ancestor. However, when there is no like-named file in revision 665: 436: 246: 3915: 5766: 5299: 3943: 2066:(VFS for Git; formerly Git Virtual File System or GVFS) extension to handle the size of the 465: 407: 391: 314: 273: 221: 5303: 4634: 3816: 3002: 2157:
on a target computer with Git installed by creating a malicious Git tree (directory) named
2082:
Git can be used in a variety of different ways, but some conventions are commonly adopted.
5993: 5723: 5520: 4988: 4593: 4519: 3768: 3612: 3236: 3082: 2624: 2582: 2439: 2271: 1781: 1010:
of a commit object corresponding to a particular release of the data being tracked by Git.
904: 867: 554: 481: 473: 335: 266: 4297: 3581: 961:
The index serves as a connection point between the object database and the working tree.
583:
Stupid. Contemptible and despicable. Simple. Take your pick from the dictionary of slang.
2972: 175: 5981: 5736: 5483: 5307: 4885:"Git (software) Jobs, Average Salary for Git Distributed Version Control System Skills" 4532: 2657: 2106:
instead. Also, users can add and delete branches and choose any branch for integrating.
1900: 1777: 1770:: 33.3% in 2014, 30.3% in 2013, 27.6% in 2012 and 12.8% in 2011. Open-source directory 1276:
software library, designed to be embedded in any Java application. JGit is used in the
1039: 939: 797: 756: 376: 357: 86: 5529:
Years, where available, indicate the date of first stable release. Systems with names
4936: 1602: 594:
The source code for Git refers to the program as "the information manager from hell".
6062: 5730: 5716: 5455: 4962: 4240: 1215: 977: 792:(RCS), worked on individual files and emphasized the space savings to be gained from 557:
slang): "I'm an egotistical bastard, and I name all my projects after myself. First '
339: 5241: 1058:: A reserved head that will be compared against the working tree to create a commit. 6018: 5974: 5760: 2257: 965: 846: − 1 and is very similar to the new file.) However, it does require more 661: 558: 485: 372: 202: 4989:"VSS/SourceSafe Jobs, Average Salary for Microsoft Visual SourceSafe (VSS) Skills" 3971: 2518: 522:
Include very strong safeguards against corruption, either accidental or malicious.
3786: 3706: 3687: 3668: 3649: 3630: 3452: 3364: 3175: 3157: 3119: 3100: 3063: 2875: 2661: 2550: 2408: 5926: 5671: 5015:"Windows switch to Git almost complete: 8,500 commits and 1,760 builds each day" 3278:"Initial revision of 'git', the information manager from hell · git/git@e83c516" 1537: 1472: 1467:
There are many offerings of Git repositories as a service. The most popular are
1449: 1427: 1387: 1376: 1021:-compressed bundle for compactness and ease of transport over network protocols. 989: 826: 698: 477: 445: 429: 343: 4762: 4393: 2916: 816:
Renames are handled implicitly rather than explicitly. A common complaint with
692:
The Git history is stored in such a way that the ID of a particular version (a
5872: 5831: 5420:"hash – How safe are signed git tags? Only as safe as SHA-1 or somehow safer?" 2687: 2233: 1326: 1300: 1214:, although it also supports most major operating systems, including the BSDs ( 683: 635: 93: 81: 17: 1332:
GameOfTrees is an open-source implementation of Git for the OpenBSD project.
156: 5964: 5878: 5817: 4780: 4088: 3499: 2941: 2850: 2308:
GPL-2.0-only since 2005-04-11. Some parts under compatible licenses such as
2219: 2207: 2046: 2020: 1865: 1476: 1419: 1401: 1397: 1391: 1250: 1123: 930: 702: 679: 631: 627: 497: 469: 449: 5489: 4606: 2460: 390:, a.k.a. repo, with history and version-tracking abilities, independent of 1436:
There are several other FLOSS solutions for self-hosting, including Gogs,
808:
These implicit revision relationships have some significant consequences:
6008: 5865: 5754: 5585: 5393: 5296:"[Announce] Git v2.2.1 (and updates to older maintenance tracks)" 4152: 3232: 2071: 1516: 562: 350: 2644:"So I'm writing some scripts to try to track things a whole lot faster." 382:
As with most other distributed version control systems, and unlike most
70: 4419: 2202:
gives was just an accidental side effect, with the main security being
2146: 1441: 1246: 1227: 1219: 1195: 1042:
to save space, storing blobs as their changes relative to other blobs.
242: 842: − 1, Git searches for a file that existed only in revision 5360: 5112: 4693: 4424: 4366: 4334: 4302: 4270: 4115: 4110: 3753: 2757: 2555: 2523: 2491: 2412: 2382: 2102:. Some tools such as GitHub and GitLab create a default branch named 1767: 1480: 1468: 1409: 1266: 1223: 934:
Some data flows and storage levels in the Git revision control system
772:
command. For data integrity, both the packfile and its index have an
569: 453: 441: 42: 38: 5044: 4937:"Subversion Jobs, Average Salary for Apache Subversion (SVN) Skills" 4361: 4329: 3251: 61: 4668: 4216: 4142: 3480: 1613: with: more clients and details like features. You can help by 1203: 919:
person (hey, kernels is what I do), and I actually have absolutely
5838: 5642: 2251: 2195: 2150: 1437: 1340: 1339: 1262: 1235: 1211: 1194: 929: 822: 773: 649: 623: 428:, marking its official recognition and continued evolution in the 234: 230: 226: 46: 2876:"sourceforge.net Competitive Analysis, Marketing Mix and Traffic" 2751: 2722: 5648: 5598: 5591: 4165: 4058: 3832: 3830: 1345: 1258: 1018: 206: 5493: 2909:"bitbucket.org Competitive Analysis, Marketing Mix and Traffic" 759:
among themselves in one file (or network byte stream) called a
2379:"Initial revision of "git", the information manager from hell" 1597: 1531: 1490: 1296: 847: 210: 194: 2486: 1210:
Git (the main implementation in C) is primarily developed on
464:
Torvalds started developing Git in April 2005 after the free
2942:"gitlab.com Competitive Analysis, Marketing Mix and Traffic" 2843:"github.com Competitive Analysis, Marketing Mix and Traffic" 5533:
are no longer maintained or have planned end-of-life dates.
4719:"Eclipse Community Survey 2014 results | Ian Skerrett" 4451: 5422:. Information Security Stack Exchange. 22 September 2014. 5387: 5385: 5383: 1160:: refers to an object which exists in a remote repository, 320: 317: 2870: 2868: 2145:
On 17 December 2014, an exploit was found affecting the
2049:, a distributed file synchronization system based on Git 1788:
Version control systems used by responding developers:
616:
lightweight: a branch is only a reference to one commit.
2815:"Enterprise repo wars: GitHub vs. GitLab vs. Bitbucket" 1614: 1390:, a spin-off from Facebook. As Facebook primarily uses 1094:, or duplicates, a git repository from an external URL. 911:
In many ways you can just see git as a filesystem—it's
894:: This is the default when merging more than two heads. 660:(FTP), or a Git protocol over either a plain socket or 5477: 3339:"What is Version Control Tool? Explore Git and GitHub" 2903: 2901: 2153:
versions of the Git client. An attacker could perform
2109:
Pushed commits generally are not overwritten, but are
2070:
source-code tree as part of their 2017 migration from
289: 4963:"Mercurial Jobs, Average Salary for Mercurial Skills" 1774:
reports a similar uptake among open-source projects.
516:
to do; if in doubt, make the exact opposite decision.
2165:
to be created manually) with malicious files in the
1306:
Dulwich is an implementation of Git written in pure
1280:
code-review tool, and in EGit, a Git client for the
589:"Goddamn idiotic truckload of sh*t": when it breaks. 364:, non-linear workflows — thousands of parallel 323: 5940: 5894: 5809: 5800: 5664: 5629: 5622: 5570: 5545: 5538: 4620: 4217:"SQL interface to Git repositories, written in Go." 2936: 2934: 2837: 2835: 1448:. All three solutions are made available under the 1122:file may be created in a Git repository as a plain 284: 272: 260: 252: 220: 185: 146: 124: 102: 92: 80: 3576: 3574: 3220:"After controversy, Torvalds begins work on 'git'" 2681: 2679: 2677: 2675: 2652: 2650: 2618: 2616: 1299:interface for Git code repositories and providing 398:. A repo is stored on each computer in a standard 386:systems, Git maintains a local copy of the entire 371:Git was created for use in the development of the 5438:"Why does Git use a cryptographic hash function?" 5137:Default branch name for new repositories now main 2440:"[ANNOUNCE] Git v2.46.1 - Junio C Hamano" 1310:with support for CPython 3.6 and later and Pypy. 1295:. It is currently used for backing projects as a 830:the snapshot. (Briefly, given a file in revision 715:Git was designed as a set of programs written in 645:Compatibility with existing systems and protocols 576:"git" can mean anything, depending on your mood. 496:. The same incident also spurred the creation of 5269:"Securing your Git server against CVE-2014-9390" 2583:"Tech Talk: Linus Torvalds on git (at 00:01:30)" 2186:itself. An attacker could use the exploit via a 1344:Screenshot of Gitweb interface showing a commit 701:, but with added data at the nodes and leaves. ( 909: 877: 668:repositories can be used directly with git-svn. 574: 565:describes Git as "the stupid content tracker". 519:Support a distributed, BitKeeper-like workflow. 5456:"Git – hash-function-transition Documentation" 5392:Blake Burkhart; et al. (5 October 2015). 2713: 2711: 923:interest in creating a traditional SCM system. 549:Torvalds sarcastically quipped about the name 5505: 4513:4.4 Git on the Server – Setting Up the Server 1017:object collects various other objects into a 8: 5203: 5099: 4475: 4420:"js-git: a JavaScript implementation of Git" 3884: 3872: 3860: 3848: 3836: 3598: 3565: 3553: 3523: 2607: 2280:Comparison of source-code-hosting facilities 1463:Comparison of source-code-hosting facilities 1369:Hosting the Git server using the Git Binary. 54: 5217:"Forking Workflow | Atlassian Git Tutorial" 5180:"Gitflow Workflow | Atlassian Git Tutorial" 4721:. Ianskerrett.wordpress.com. 23 June 2014. 4560:"Git on the Server – Setting Up the Server" 3120:"Mercurial 0.4b vs git patchbomb benchmark" 3057: 3055: 3003:"BitKeeper and Linux: The end of the road?" 1566:. Unsourced material may be challenged and 1525:Learn how and when to remove these messages 1084:, which is used to create a git repository. 27:Distributed version control software system 5806: 5626: 5542: 5512: 5498: 5490: 5482: 4745:"Results of Eclipse Community Survey 2012" 4621:"Gogs: A painless self-hosted Git service" 2662:"Re: fatal: serious inflate inconsistency" 2226:under US500000085961336 since 2015-02-03. 2042:Other open-source Git extensions include: 1790: 297: 174: 132: 69: 53: 3469:, describing Git's script-oriented design 1639:Learn how and when to remove this message 1586:Learn how and when to remove this message 1272:The JGit implementation of Git is a pure 612:Strong support for non-linear development 424:The trademark "Git" is registered by the 4781:"Stack Overflow Annual Developer Survey" 4587:Diffusion User Guide: Repository Hosting 4001:"Best practices for uploading to GitHub" 3787:"Re: Errors GITtifying GCC and Binutils" 3719:to show code moved between source files. 3688:"Re: Errors GITtifying GCC and Binutils" 3669:"Re: Errors GITtifying GCC and Binutils" 2354: 2352: 2350: 2348: 2346: 2344: 2342: 2340: 2338: 2206:elsewhere. Since a demonstration of the 1400:Community Edition (CE), supporting Git, 1166:: refers to an object not yet committed, 3650:"Re: impure renames / history tracking" 3487:from the original on 14 September 2016. 2689:Google tech talk: Linus Torvalds on git 2370: 2336: 2334: 2332: 2330: 2328: 2326: 2324: 2322: 2320: 2318: 2301: 1749:GitKraken Desktop (Windows, Linux, Mac) 689:Cryptographic authentication of history 678:faster diffing large repositories than 572:of the source code elaborates further: 5248:from the original on 14 September 2016 4969:from the original on 23 September 2016 4859:"Stack Overflow Developer Survey 2018" 4833:"Stack Overflow Developer Survey 2017" 4807:"Stack Overflow Developer Survey 2015" 4769:from the original on 7 September 2014. 4533:"1.4 Getting Started – Installing Git" 3440:from the original on 22 February 2017. 3436:. Git User's Manual. 18 October 2006. 3230:from the original on 1 February 2011. 2789:"Stack Overflow Developer Survey 2022" 2774:from the original on 25 December 2015. 2358:Not listed as an option in this survey 2285:Comparison of version-control software 1291:implementation of Git written in pure 1147:lists all references. Some types are: 903:Git's primitives are not inherently a 834:, a file of the same name in revision 5400:from the original on 27 December 2015 5336:from the original on 26 December 2015 5275:from the original on 24 December 2014 5159:"Git Revert | Atlassian Git Tutorial" 5077:from the original on 20 December 2020 4266:"Dulwich GitHub Repository README.md" 3417:from the original on 16 January 2009. 3174:Hamano, Junio C. (21 December 2005). 3064:"Re: Trivia: When did git self-host?" 2952:from the original on 30 November 2017 2783: 2781: 2731:from the original on 25 December 2015 2589:from the original on 20 December 2015 2389:from the original on 16 November 2015 1025:Each object is identified by a SHA-1 755:that store a large number of objects 7: 4995:from the original on 29 October 2016 4943:from the original on 25 October 2016 4917:from the original on 29 October 2016 4607:"Gitolite: Hosting Git Repositories" 4539:from the original on 2 November 2013 4123:from the original on 10 October 2016 4039:from the original on 3 December 2020 3705:Torvalds, Linus (28 November 2006). 3318:from the original on 22 October 2014 3062:Torvalds, Linus (27 February 2007). 2886:from the original on 20 October 2020 2419:from the original on 20 January 2016 2244:Free and open-source software portal 2086:The command to create a local repo, 1564:adding citations to reliable sources 671:Efficient handling of large projects 553:(which means "unpleasant person" in 6084:Distributed version control systems 5267:Pettersen, Tim (20 December 2014). 5055:from the original on 15 March 2022. 4891:from the original on 8 October 2016 4751:from the original on 11 April 2016. 4558:Chacon, Scott; Straub, Ben (2014). 4172:from the original on 31 August 2012 4029:"Project Configuration File Format" 3409:Dreier, Roland (13 November 2006). 3363:Torvalds, Linus (19 October 2006). 3288:from the original on 8 October 2017 3101:"First ever real kernel git merge!" 3040:from the original on 26 August 2015 3030:"Linus Torvalds' BitKeeper blunder" 1681:Windows GUIs (GNU GPL/MIT and Free) 1329:implementation of a subset of Git. 1073:Frequently used commands for Git's 379:and others developing the kernel. 356:Design goals of Git include speed, 5426:from the original on 24 June 2016. 5368:from the original on 11 April 2016 5294:Hamano, J. C. (18 December 2014). 4645:from the original on 22 March 2021 4432:from the original on 7 August 2013 4374:from the original on 5 August 2015 4310:from the original on 11 April 2016 4278:from the original on 29 April 2024 3797:from the original on 22 March 2021 3737:from the original on 16 July 2016. 3686:Hamano, Junio C. (23 March 2006). 3667:Hamano, Junio C. (24 March 2006). 3629:Haible, Bruno (11 February 2007). 2983:from the original on 13 April 2020 2750:Chacon, Scott (24 December 2014). 2563:from the original on 11 April 2016 2531:from the original on 11 April 2016 2519:"Git's LGPL license at github.com" 1394:, Git support is not as prominent. 650:Hypertext Transfer Protocol Secure 648:Repositories can be published via 608:following implementation choices: 500:, another version-control system. 25: 5444:from the original on 1 July 2016. 4763:"Compare Repositories – Open Hub" 4725:from the original on 25 June 2014 4342:from the original on 24 July 2013 4085:"git package versions – Repology" 3785:Torvalds, Linus (23 March 2006). 3767:Torvalds, Linus (10 April 2005). 3611:Torvalds, Linus (10 April 2005). 3543:from the original on 10 May 2020. 3337:Gunjal, Siddhesh (19 July 2019). 3258:from the original on 21 June 2012 3200:from the original on 23 July 2012 3099:Torvalds, Linus (17 April 2005). 2813:Krill, Paul (28 September 2016). 2551:"Git's GPL license at github.com" 1722:Linux GUIs (GNU GPL/MIT and Free) 1506:This section has multiple issues. 821:long-lived name (analogous to an 763:. Packs are compressed using the 368:running on different computers. 6119:Software that uses Tk (software) 6099:Free software programmed in Perl 5613: 5440:. Stack Overflow. 1 March 2015. 5025:from the original on 24 May 2017 4861:. Stack Overflow. Archived from 4835:. Stack Overflow. Archived from 4809:. Stack Overflow. Archived from 4400:from the original on 25 May 2013 4241:"Keybase launches encrypted git" 3748:Torvalds, Linus (18 July 2007). 3729:Torvalds, Linus (18 July 2007). 3648:Torvalds, Linus (1 March 2006). 3156:Torvalds, Linus (27 July 2005). 3137:Torvalds, Linus (17 June 2005). 3081:Torvalds, Linus (6 April 2005). 2696:from the original on 28 May 2007 2634:from the original on 1 July 2019 2623:Torvalds, Linus (7 April 2005). 2499:from the original on 3 June 2022 2467:from the original on 9 June 2022 2290:List of version-control software 2264: 2250: 2236: 1601: 1536: 1495: 968:contains five types of objects: 748:Periodic explicit object packing 313: 60: 5242:"Git repository access control" 4065:from the original on 8 May 2012 3489:, praising Git's scriptability. 3118:Mackall, Matt (29 April 2005). 3028:McAllister, Neil (2 May 2005). 2098:, the default remote branch is 1709:Mac GUIs (GNU GPL/MIT and Free) 1514:or discuss these issues on the 1202:is a graphical front-end using 958:that stores immutable objects. 6114:Software using the GPL license 5067:"Git – Branches in a Nutshell" 2756:(2nd ed.). New York, NY: 2727:(2nd ed.). Apress. 2014. 1746:SmartGit (Windows, Linux, Mac) 1154:: refers to an object locally, 1104:(files about to be committed). 342:. It is often used to control 1: 6094:Free software programmed in C 6089:Free version control software 4669:"Git - git-gui Documentation" 3479:iabervon (22 December 2005). 3308:"Git – Distributed Workflows" 3194:"GitFaq: Why the 'Git' name?" 2686:Linus Torvalds (3 May 2007). 2200:cryptographically secure hash 1440:, a fork of Gogs, as well as 1379:or OpenSSH, or an integrated 1100:, which adds a file to git's 415:free and open-source software 3631:"how to speed up 'git log'?" 2971:Brown, Zack (27 July 2018). 2224:Software Freedom Conservancy 512:(CVS) as an example of what 426:Software Freedom Conservancy 4143:"Git – Downloading Package" 2218:"Git" is a registered word 2064:Virtual File System for Git 1752:Glint (Windows, Linux, Mac) 907:system. Torvalds explains: 733:accumulates until collected 654:Hypertext Transfer Protocol 333:distributed version control 6140: 6079:Concurrent Versions System 4635:"Highlights from Git 2.26" 3453:"Re: VCS comparison table" 3381:Jst's Blog on Mozillazine 3365:"Re: VCS comparison table" 3158:"Meet the new maintainer." 2692:. Event occurs at 02:30. 1460: 1418:, supporting both Git and 1126:. The files listed in the 786:Source Code Control System 723:Pluggable merge strategies 510:Concurrent Versions System 36: 29: 6027: 5611: 5527: 5117:, GitHub, 4 December 2020 4592:20 September 2020 at the 3769:"Re: more git updates..." 2090:, creates a branch named 1933:IBM DevOps Code ClearCase 709:also have this property.) 474:source-control management 142: 120: 68: 59: 5521:Version control software 5204:Chacon & Straub 2014 5100:Chacon & Straub 2014 4566:(2nd ed.). Apress. 4476:Chacon & Straub 2014 3885:Chacon & Straub 2014 3873:Chacon & Straub 2014 3861:Chacon & Straub 2014 3849:Chacon & Straub 2014 3837:Chacon & Straub 2014 3599:Chacon & Straub 2014 3566:Chacon & Straub 2014 3554:Chacon & Straub 2014 3524:Chacon & Straub 2014 3411:"Oh what a relief it is" 3384:"bzr/hg/git performance" 2719:"A Short History of Git" 2625:"Re: Kernel SCM saga..." 2608:Chacon & Straub 2014 2487:"Git Source Code Mirror" 2188:man-in-the-middle attack 2155:arbitrary code execution 2062:Microsoft developed the 1658:Git comes with a Tcl/Tk 338:that tracks versions of 37:Not to be confused with 6124:Version control systems 5749:Software Change Manager 4518:22 October 2014 at the 3613:"Re: more git updates." 1457:Git server as a service 1255:GNU Compiler Collection 790:Revision Control System 619:Distributed development 346:by programmers who are 98:Junio Hamano and others 5394:"Re: CVE Request: git" 5140:, GitLab, 22 June 2021 3898:"Git – Git References" 2013:Team Foundation Server 1348: 1207: 1075:command-line interface 935: 925: 905:source-code management 888: 658:File Transfer Protocol 592: 108:; 19 years ago 6109:Self-hosting software 5364:. 29 September 2015. 4991:. Itjobswatch.co.uk. 4965:. Itjobswatch.co.uk. 4939:. Itjobswatch.co.uk. 4913:. Itjobswatch.co.uk. 4887:. Itjobswatch.co.uk. 4783:. Stack Exchange, Inc 4008:journalismcourses.org 3979:data-skills.github.io 3176:"Announce: Git 1.0.0" 1730:MeGit (based on EGit) 1701:MeGit (based on EGit) 1343: 1198: 933: 537:Torvalds turned over 5332:. 15 December 2015. 3923:education.github.com 3500:"Git – Git SCM Wiki" 3252:"git(1) Manual Page" 2973:"A Git Origin Story" 2597:– via YouTube. 1560:improve this section 1487:Graphical interfaces 976:is the content of a 712:Toolkit-based design 440:services, including 419:GPL-2.0-only license 394:access or a central 32:Git (disambiguation) 30:For other uses, see 5310:on 19 December 2014 5206:, pp. 170–174. 5102:, pp. 103–109. 4694:"Git - GUI Clients" 4478:, pp. 138–139. 3887:, pp. 497–501. 3875:, pp. 495–496. 3863:, pp. 488–490. 3851:, pp. 485–488. 3817:"Git – Git Objects" 3756:on 13 January 2006. 3537:"Git User's Manual" 3504:git.wiki.kernel.org 2559:. 18 January 2010. 1963:Raw network sharing 1772:Black Duck Open Hub 1741:Proprietary GIT GUI 1673:List of GUI Clients 1384:lacks a GUI for it. 913:content-addressable 561:', now 'git'." The 490:reverse engineering 199:programming scripts 137:/ 14 September 2024 56: 5304:gmane.linux.kernel 4489:"Git – Git Daemon" 4091:on 19 January 2022 4033:Gerrit Code Review 3083:"Kernel SCM saga." 2760:. pp. 29–30. 1763:Eclipse Foundation 1349: 1265:(itself a fork of 1245:The first Windows 1208: 936: 866:: the traditional 855:Merging strategies 794:interleaved deltas 739:garbage collection 676:order of magnitude 472:, the proprietary 435:Today, Git is the 360:, and support for 82:Original author(s) 6056: 6055: 5982:Delta compression 5936: 5935: 5796: 5795: 5786:Visual SourceSafe 5639:(1986, 1990 in C) 5609: 5608: 4641:. 22 March 2020. 3999:Ba Tran, Andrew. 3972:"Git Quick Intro" 3916:"Git Cheat Sheet" 3839:, pp. 81–83. 3750:"CrissCrossMerge" 3707:"Re: git and bzr" 3582:"Git – Packfiles" 3568:, pp. 33–34. 3539:. 10 March 2020. 3451:Torvalds, Linus. 2979:. Linux Journal. 2767:978-1-4842-0077-3 2610:, pp. 29–31. 2025:Visual SourceSafe 2009: 2008: 1766:excluding use of 1649: 1648: 1641: 1631: 1630: 1596: 1595: 1588: 1529: 1102:working directory 1040:delta compression 1008:digital signature 437:de facto standard 417:shared under the 353:collaboratively. 306: 305: 106:7 April 2005 16:(Redirected from 6131: 5913:(via Git) (2014) 5907:(via Git) (2013) 5810:Free/open-source 5807: 5630:Free/open-source 5627: 5617: 5547:Free/open-source 5543: 5514: 5507: 5500: 5491: 5486: 5481: 5480: 5478:Official website 5464: 5463: 5452: 5446: 5445: 5434: 5428: 5427: 5416: 5410: 5409: 5407: 5405: 5389: 5378: 5377: 5375: 5373: 5352: 5346: 5345: 5343: 5341: 5326: 5320: 5319: 5317: 5315: 5306:. Archived from 5291: 5285: 5284: 5282: 5280: 5264: 5258: 5257: 5255: 5253: 5238: 5232: 5231: 5229: 5227: 5213: 5207: 5201: 5195: 5194: 5192: 5190: 5176: 5170: 5169: 5155: 5149: 5148: 5147: 5145: 5132: 5126: 5125: 5124: 5122: 5109: 5103: 5097: 5091: 5090: 5084: 5082: 5063: 5057: 5056: 5041: 5035: 5034: 5032: 5030: 5011: 5005: 5004: 5002: 5000: 4985: 4979: 4978: 4976: 4974: 4959: 4953: 4952: 4950: 4948: 4933: 4927: 4926: 4924: 4922: 4907: 4901: 4900: 4898: 4896: 4881: 4875: 4874: 4872: 4870: 4855: 4849: 4848: 4846: 4844: 4829: 4823: 4822: 4820: 4818: 4803: 4797: 4796: 4790: 4788: 4777: 4771: 4770: 4759: 4753: 4752: 4741: 4735: 4734: 4732: 4730: 4715: 4709: 4708: 4706: 4704: 4690: 4684: 4683: 4681: 4679: 4665: 4659: 4658: 4652: 4650: 4631: 4625: 4624: 4617: 4611: 4610: 4603: 4597: 4584: 4578: 4577: 4555: 4549: 4548: 4546: 4544: 4529: 4523: 4510: 4504: 4503: 4501: 4499: 4485: 4479: 4473: 4467: 4466: 4464: 4462: 4448: 4442: 4441: 4439: 4437: 4416: 4410: 4409: 4407: 4405: 4390: 4384: 4383: 4381: 4379: 4358: 4352: 4351: 4349: 4347: 4326: 4320: 4319: 4317: 4315: 4294: 4288: 4287: 4285: 4283: 4262: 4256: 4255: 4253: 4251: 4237: 4231: 4230: 4229: 4227: 4213: 4207: 4206: 4204: 4202: 4188: 4182: 4181: 4179: 4177: 4162: 4156: 4150: 4139: 4133: 4132: 4130: 4128: 4107: 4101: 4100: 4098: 4096: 4087:. Archived from 4081: 4075: 4074: 4072: 4070: 4055: 4049: 4048: 4046: 4044: 4025: 4019: 4018: 4016: 4014: 4005: 3996: 3990: 3989: 3987: 3985: 3976: 3968: 3962: 3961: 3959: 3957: 3951:web.stanford.edu 3948: 3940: 3934: 3933: 3931: 3929: 3920: 3912: 3906: 3905: 3894: 3888: 3882: 3876: 3870: 3864: 3858: 3852: 3846: 3840: 3834: 3825: 3824: 3813: 3807: 3806: 3804: 3802: 3793:(Mailing list). 3782: 3776: 3775: 3764: 3758: 3757: 3752:. Archived from 3745: 3739: 3738: 3726: 3720: 3718: 3714: 3702: 3696: 3695: 3683: 3677: 3676: 3664: 3658: 3657: 3645: 3639: 3638: 3626: 3620: 3619: 3608: 3602: 3596: 3590: 3589: 3578: 3569: 3563: 3557: 3551: 3545: 3544: 3533: 3527: 3521: 3515: 3514: 3512: 3510: 3496: 3490: 3488: 3476: 3470: 3468: 3466: 3464: 3448: 3442: 3441: 3426: 3420: 3418: 3406: 3400: 3399: 3397: 3395: 3386:. Archived from 3379: 3373: 3372: 3360: 3354: 3353: 3351: 3349: 3334: 3328: 3327: 3325: 3323: 3304: 3298: 3297: 3295: 3293: 3274: 3268: 3267: 3265: 3263: 3248: 3242: 3241: 3226:. 14 July 2012. 3216: 3210: 3209: 3207: 3205: 3190: 3184: 3183: 3171: 3165: 3164: 3153: 3147: 3146: 3143:git-commits-head 3134: 3128: 3127: 3115: 3109: 3108: 3096: 3090: 3089: 3078: 3072: 3071: 3059: 3050: 3049: 3047: 3045: 3025: 3019: 3018: 3016: 3014: 2999: 2993: 2992: 2990: 2988: 2968: 2962: 2961: 2959: 2957: 2938: 2929: 2928: 2926: 2924: 2915:. Archived from 2905: 2896: 2895: 2893: 2891: 2872: 2863: 2862: 2860: 2858: 2853:on 31 March 2013 2849:. Archived from 2839: 2830: 2829: 2827: 2825: 2810: 2804: 2803: 2801: 2799: 2785: 2776: 2775: 2747: 2741: 2740: 2738: 2736: 2715: 2706: 2705: 2703: 2701: 2683: 2670: 2669: 2660:(10 June 2007). 2654: 2645: 2643: 2641: 2639: 2630:(Mailing list). 2620: 2611: 2605: 2599: 2598: 2596: 2594: 2579: 2573: 2572: 2570: 2568: 2547: 2541: 2540: 2538: 2536: 2515: 2509: 2508: 2506: 2504: 2483: 2477: 2476: 2474: 2472: 2457: 2451: 2450: 2448: 2446: 2438:Junio C Hamano. 2435: 2429: 2428: 2426: 2424: 2405: 2399: 2398: 2396: 2394: 2385:. 8 April 2005. 2375: 2359: 2356: 2313: 2306: 2274: 2269: 2268: 2260: 2255: 2254: 2246: 2241: 2240: 2239: 2114:rewrite history. 2023:, and 0.48% for 1948:Zip file backups 1791: 1644: 1637: 1626: 1623: 1605: 1598: 1591: 1584: 1580: 1577: 1571: 1540: 1532: 1521: 1499: 1498: 1491: 1354: 1146: 1109: 1099: 1089: 1083: 1050:Heads (branches) 886: 779: 771: 757:delta-compressed 744: 330: 329: 326: 325: 322: 319: 302: 301: 294: 291: 222:Operating system 178: 173: 170: 168: 166: 164: 162: 160: 158: 136: 116: 114: 109: 73: 64: 57: 21: 6139: 6138: 6134: 6133: 6132: 6130: 6129: 6128: 6059: 6058: 6057: 6052: 6023: 5994:File comparison 5932: 5890: 5792: 5660: 5649:QVCS Enterprise 5618: 5605: 5566: 5534: 5523: 5518: 5476: 5475: 5472: 5467: 5454: 5453: 5449: 5436: 5435: 5431: 5418: 5417: 5413: 5403: 5401: 5391: 5390: 5381: 5371: 5369: 5354: 5353: 5349: 5339: 5337: 5330:"CVE-2015-7545" 5328: 5327: 5323: 5313: 5311: 5293: 5292: 5288: 5278: 5276: 5266: 5265: 5261: 5251: 5249: 5240: 5239: 5235: 5225: 5223: 5215: 5214: 5210: 5202: 5198: 5188: 5186: 5178: 5177: 5173: 5157: 5156: 5152: 5143: 5141: 5134: 5133: 5129: 5120: 5118: 5114:github/renaming 5111: 5110: 5106: 5098: 5094: 5080: 5078: 5065: 5064: 5060: 5043: 5042: 5038: 5028: 5026: 5021:. 24 May 2017. 5013: 5012: 5008: 4998: 4996: 4987: 4986: 4982: 4972: 4970: 4961: 4960: 4956: 4946: 4944: 4935: 4934: 4930: 4920: 4918: 4909: 4908: 4904: 4894: 4892: 4883: 4882: 4878: 4868: 4866: 4857: 4856: 4852: 4842: 4840: 4831: 4830: 4826: 4816: 4814: 4805: 4804: 4800: 4786: 4784: 4779: 4778: 4774: 4761: 4760: 4756: 4747:. eclipse.org. 4743: 4742: 4738: 4728: 4726: 4717: 4716: 4712: 4702: 4700: 4692: 4691: 4687: 4677: 4675: 4667: 4666: 4662: 4648: 4646: 4639:The GitHub Blog 4633: 4632: 4628: 4619: 4618: 4614: 4605: 4604: 4600: 4594:Wayback Machine 4585: 4581: 4574: 4557: 4556: 4552: 4542: 4540: 4531: 4530: 4526: 4520:Wayback Machine 4511: 4507: 4497: 4495: 4487: 4486: 4482: 4474: 4470: 4460: 4458: 4456:gameoftrees.org 4452:"Game of Trees" 4450: 4449: 4445: 4435: 4433: 4418: 4417: 4413: 4403: 4401: 4392: 4391: 4387: 4377: 4375: 4360: 4359: 4355: 4345: 4343: 4328: 4327: 4323: 4313: 4311: 4296: 4295: 4291: 4281: 4279: 4264: 4263: 4259: 4249: 4247: 4239: 4238: 4234: 4225: 4223: 4215: 4214: 4210: 4200: 4198: 4190: 4189: 4185: 4175: 4173: 4164: 4163: 4159: 4141: 4140: 4136: 4126: 4124: 4109: 4108: 4104: 4094: 4092: 4083: 4082: 4078: 4068: 4066: 4057: 4056: 4052: 4042: 4040: 4027: 4026: 4022: 4012: 4010: 4003: 3998: 3997: 3993: 3983: 3981: 3974: 3970: 3969: 3965: 3955: 3953: 3946: 3942: 3941: 3937: 3927: 3925: 3918: 3914: 3913: 3909: 3896: 3895: 3891: 3883: 3879: 3871: 3867: 3859: 3855: 3847: 3843: 3835: 3828: 3815: 3814: 3810: 3800: 3798: 3784: 3783: 3779: 3774:(Mailing list). 3766: 3765: 3761: 3747: 3746: 3742: 3728: 3727: 3723: 3716: 3713:(Mailing list). 3704: 3703: 3699: 3694:(Mailing list). 3685: 3684: 3680: 3675:(Mailing list). 3666: 3665: 3661: 3656:(Mailing list). 3647: 3646: 3642: 3637:(Mailing list). 3628: 3627: 3623: 3618:(Mailing list). 3610: 3609: 3605: 3597: 3593: 3580: 3579: 3572: 3564: 3560: 3552: 3548: 3535: 3534: 3530: 3522: 3518: 3508: 3506: 3498: 3497: 3493: 3478: 3477: 3473: 3462: 3460: 3450: 3449: 3445: 3428: 3427: 3423: 3408: 3407: 3403: 3393: 3391: 3382: 3380: 3376: 3371:(Mailing list). 3362: 3361: 3357: 3347: 3345: 3336: 3335: 3331: 3321: 3319: 3306: 3305: 3301: 3291: 3289: 3276: 3275: 3271: 3261: 3259: 3250: 3249: 3245: 3218: 3217: 3213: 3203: 3201: 3192: 3191: 3187: 3182:(Mailing list). 3173: 3172: 3168: 3163:(Mailing list). 3155: 3154: 3150: 3145:(Mailing list). 3136: 3135: 3131: 3126:(Mailing list). 3117: 3116: 3112: 3107:(Mailing list). 3098: 3097: 3093: 3088:(Mailing list). 3080: 3079: 3075: 3070:(Mailing list). 3061: 3060: 3053: 3043: 3041: 3027: 3026: 3022: 3012: 3010: 3009:. 11 April 2005 3001: 3000: 2996: 2986: 2984: 2970: 2969: 2965: 2955: 2953: 2940: 2939: 2932: 2922: 2920: 2919:on 23 June 2017 2907: 2906: 2899: 2889: 2887: 2874: 2873: 2866: 2856: 2854: 2841: 2840: 2833: 2823: 2821: 2812: 2811: 2807: 2797: 2795: 2787: 2786: 2779: 2768: 2749: 2748: 2744: 2734: 2732: 2717: 2716: 2709: 2699: 2697: 2685: 2684: 2673: 2668:(Mailing list). 2658:Torvalds, Linus 2656: 2655: 2648: 2637: 2635: 2622: 2621: 2614: 2606: 2602: 2592: 2590: 2581: 2580: 2576: 2566: 2564: 2549: 2548: 2544: 2534: 2532: 2527:. 20 May 2011. 2517: 2516: 2512: 2502: 2500: 2485: 2484: 2480: 2470: 2468: 2459: 2458: 2454: 2444: 2442: 2437: 2436: 2432: 2422: 2420: 2415:. 8 June 2016. 2407: 2406: 2402: 2392: 2390: 2377: 2376: 2372: 2368: 2363: 2362: 2357: 2316: 2307: 2303: 2298: 2272:Internet portal 2270: 2263: 2256: 2249: 2242: 2237: 2235: 2232: 2216: 2140: 2080: 2035:There are many 2033: 1782:version control 1759: 1743: 1724: 1711: 1683: 1675: 1645: 1634: 1633: 1632: 1627: 1621: 1618: 1611:needs expansion 1592: 1581: 1575: 1572: 1557: 1541: 1500: 1496: 1489: 1465: 1459: 1422:, developed in 1366: 1352: 1338: 1193: 1191:Implementations 1144: 1140: 1107: 1097: 1087: 1081: 1071: 956:object database 940:data structures 901: 899:Data structures 887: 884: 868:three-way merge 857: 806: 777: 769: 742: 605: 600: 598:Characteristics 555:British English 547: 482:Andrew Tridgell 480:, claimed that 462: 316: 312: 296: 288: 267:Version control 181: 155: 138: 112: 110: 107: 103:Initial release 76: 50: 35: 28: 23: 22: 15: 12: 11: 5: 6137: 6135: 6127: 6126: 6121: 6116: 6111: 6106: 6104:Linus Torvalds 6101: 6096: 6091: 6086: 6081: 6076: 6071: 6069:Git (software) 6061: 6060: 6054: 6053: 6051: 6050: 6043: 6036: 6028: 6025: 6024: 6022: 6021: 6016: 6011: 6006: 6001: 5996: 5991: 5990: 5989: 5979: 5978: 5977: 5967: 5962: 5961: 5960: 5950: 5944: 5942: 5938: 5937: 5934: 5933: 5931: 5930: 5924: 5916: 5915: 5914: 5908: 5898: 5896: 5892: 5891: 5889: 5888: 5882: 5876: 5870: 5862: 5856: 5850: 5842: 5836: 5828: 5822: 5813: 5811: 5804: 5798: 5797: 5794: 5793: 5791: 5790: 5782: 5776: 5770: 5764: 5758: 5752: 5746: 5740: 5737:Perforce Helix 5734: 5728: 5720: 5714: 5706: 5700: 5699: 5698: 5688: 5675: 5668: 5666: 5662: 5661: 5659: 5658: 5652: 5646: 5640: 5633: 5631: 5624: 5620: 5619: 5612: 5610: 5607: 5606: 5604: 5603: 5595: 5589: 5583: 5576: 5574: 5568: 5567: 5565: 5564: 5558: 5551: 5549: 5540: 5536: 5535: 5528: 5525: 5524: 5519: 5517: 5516: 5509: 5502: 5494: 5488: 5487: 5471: 5470:External links 5468: 5466: 5465: 5447: 5429: 5411: 5379: 5347: 5321: 5286: 5259: 5233: 5208: 5196: 5171: 5150: 5127: 5104: 5092: 5058: 5036: 5006: 4980: 4954: 4928: 4902: 4876: 4865:on 30 May 2019 4850: 4839:on 29 May 2019 4824: 4798: 4772: 4754: 4736: 4710: 4685: 4660: 4626: 4612: 4598: 4579: 4573:978-1484200773 4572: 4550: 4524: 4505: 4480: 4468: 4443: 4411: 4385: 4353: 4321: 4289: 4257: 4232: 4208: 4192:"Git – go-git" 4183: 4157: 4134: 4102: 4076: 4050: 4020: 3991: 3963: 3944:"Git Tutorial" 3935: 3907: 3889: 3877: 3865: 3853: 3841: 3826: 3808: 3777: 3759: 3740: 3731:"git-merge(1)" 3721: 3697: 3678: 3659: 3640: 3621: 3603: 3601:, p. 568. 3591: 3570: 3558: 3556:, p. 499. 3546: 3528: 3516: 3491: 3471: 3459:(Mailing list) 3443: 3421: 3401: 3390:on 29 May 2010 3374: 3355: 3329: 3299: 3269: 3243: 3211: 3185: 3166: 3148: 3139:"Linux 2.6.12" 3129: 3110: 3091: 3073: 3051: 3020: 2994: 2963: 2930: 2897: 2864: 2831: 2805: 2793:Stack Overflow 2777: 2766: 2742: 2707: 2671: 2646: 2612: 2600: 2574: 2542: 2510: 2478: 2452: 2430: 2409:"Commit Graph" 2400: 2369: 2367: 2364: 2361: 2360: 2314: 2300: 2299: 2297: 2294: 2293: 2292: 2287: 2282: 2276: 2275: 2261: 2247: 2231: 2228: 2215: 2212: 2139: 2136: 2135: 2134: 2123: 2115: 2107: 2079: 2076: 2060: 2059: 2056: 2050: 2037:Git extensions 2032: 2029: 2007: 2006: 2003: 2000: 1997: 1994: 1990: 1989: 1987: 1985: 1982: 1979: 1975: 1974: 1972: 1969: 1966: 1964: 1960: 1959: 1957: 1954: 1951: 1949: 1945: 1944: 1942: 1940: 1937: 1935: 1929: 1928: 1926: 1924: 1921: 1919: 1913: 1912: 1910: 1908: 1906: 1903: 1897: 1896: 1894: 1892: 1890: 1887: 1881: 1880: 1877: 1874: 1871: 1868: 1862: 1861: 1859: 1856: 1853: 1850: 1844: 1843: 1840: 1837: 1834: 1831: 1825: 1824: 1821: 1818: 1815: 1812: 1808: 1807: 1804: 1801: 1798: 1795: 1778:Stack Overflow 1758: 1755: 1754: 1753: 1750: 1747: 1742: 1739: 1738: 1737: 1734: 1731: 1728: 1723: 1720: 1719: 1718: 1715: 1714:GitHub Desktop 1710: 1707: 1706: 1705: 1702: 1699: 1696: 1695:Git Extensions 1693: 1690: 1687: 1686:GitHub Desktop 1682: 1679: 1674: 1671: 1647: 1646: 1629: 1628: 1608: 1606: 1594: 1593: 1544: 1542: 1535: 1530: 1504: 1503: 1501: 1494: 1488: 1485: 1458: 1455: 1454: 1453: 1434: 1431: 1413: 1410:AGPLv3 license 1395: 1385: 1370: 1365: 1362: 1337: 1334: 1318:, Python, and 1192: 1189: 1188: 1187: 1181: 1167: 1161: 1155: 1139: 1138:Git references 1136: 1116: 1115: 1108:git commit -m 1105: 1095: 1085: 1070: 1067: 1066: 1065: 1059: 1053: 1034:combined into 1023: 1022: 1011: 1000: 993: 981: 900: 897: 896: 895: 889: 885:Linus Torvalds 882: 871: 856: 853: 852: 851: 814: 805: 802: 798:delta encoding 782: 781: 749: 746: 734: 728: 724: 721: 713: 710: 690: 687: 672: 669: 646: 643: 620: 617: 613: 604: 601: 599: 596: 591: 590: 587: 584: 581: 546: 543: 524: 523: 520: 517: 492:the BitKeeper 461: 458: 377:Linus Torvalds 358:data integrity 304: 303: 286: 282: 281: 276: 270: 269: 264: 258: 257: 254: 250: 249: 224: 218: 217: 187: 183: 182: 180: 179: 152: 150: 144: 143: 140: 139: 130: 128: 126:Stable release 122: 121: 118: 117: 104: 100: 99: 96: 90: 89: 87:Linus Torvalds 84: 78: 77: 74: 66: 65: 26: 24: 18:Git (software) 14: 13: 10: 9: 6: 4: 3: 2: 6136: 6125: 6122: 6120: 6117: 6115: 6112: 6110: 6107: 6105: 6102: 6100: 6097: 6095: 6092: 6090: 6087: 6085: 6082: 6080: 6077: 6075: 6074:2005 software 6072: 6070: 6067: 6066: 6064: 6049: 6048: 6044: 6042: 6041: 6037: 6035: 6034: 6030: 6029: 6026: 6020: 6017: 6015: 6012: 6010: 6007: 6005: 6002: 6000: 5997: 5995: 5992: 5988: 5985: 5984: 5983: 5980: 5976: 5973: 5972: 5971: 5968: 5966: 5963: 5959: 5956: 5955: 5954: 5951: 5949: 5946: 5945: 5943: 5939: 5928: 5925: 5922: 5921: 5917: 5912: 5909: 5906: 5903: 5902: 5901:Azure DevOps 5900: 5899: 5897: 5893: 5886: 5883: 5880: 5877: 5874: 5871: 5868: 5867: 5863: 5860: 5857: 5854: 5851: 5848: 5847: 5843: 5840: 5837: 5834: 5833: 5829: 5826: 5823: 5820: 5819: 5815: 5814: 5812: 5808: 5805: 5803: 5799: 5788: 5787: 5783: 5780: 5777: 5774: 5771: 5768: 5765: 5762: 5759: 5756: 5753: 5750: 5747: 5744: 5741: 5738: 5735: 5732: 5729: 5726: 5725: 5721: 5718: 5717:Dimensions CM 5715: 5712: 5711: 5707: 5704: 5701: 5696: 5692: 5689: 5686: 5682: 5679: 5678: 5677:Azure DevOps 5676: 5673: 5670: 5669: 5667: 5663: 5656: 5653: 5650: 5647: 5644: 5641: 5638: 5635: 5634: 5632: 5628: 5625: 5623:Client–server 5621: 5616: 5601: 5600: 5596: 5593: 5590: 5587: 5584: 5581: 5580:The Librarian 5578: 5577: 5575: 5573: 5569: 5562: 5559: 5556: 5553: 5552: 5550: 5548: 5544: 5541: 5537: 5532: 5526: 5522: 5515: 5510: 5508: 5503: 5501: 5496: 5495: 5492: 5485: 5479: 5474: 5473: 5469: 5461: 5457: 5451: 5448: 5443: 5439: 5433: 5430: 5425: 5421: 5415: 5412: 5399: 5395: 5388: 5386: 5384: 5380: 5367: 5363: 5362: 5357: 5351: 5348: 5335: 5331: 5325: 5322: 5309: 5305: 5301: 5297: 5290: 5287: 5274: 5270: 5263: 5260: 5247: 5243: 5237: 5234: 5222: 5218: 5212: 5209: 5205: 5200: 5197: 5185: 5181: 5175: 5172: 5168: 5164: 5160: 5154: 5151: 5139: 5138: 5131: 5128: 5116: 5115: 5108: 5105: 5101: 5096: 5093: 5089: 5076: 5072: 5068: 5062: 5059: 5054: 5050: 5046: 5040: 5037: 5024: 5020: 5016: 5010: 5007: 4994: 4990: 4984: 4981: 4968: 4964: 4958: 4955: 4942: 4938: 4932: 4929: 4916: 4912: 4906: 4903: 4890: 4886: 4880: 4877: 4864: 4860: 4854: 4851: 4838: 4834: 4828: 4825: 4813:on 4 May 2019 4812: 4808: 4802: 4799: 4795: 4782: 4776: 4773: 4768: 4764: 4758: 4755: 4750: 4746: 4740: 4737: 4724: 4720: 4714: 4711: 4699: 4695: 4689: 4686: 4674: 4670: 4664: 4661: 4657: 4644: 4640: 4636: 4630: 4627: 4622: 4616: 4613: 4608: 4602: 4599: 4595: 4591: 4588: 4583: 4580: 4575: 4569: 4565: 4561: 4554: 4551: 4538: 4534: 4528: 4525: 4521: 4517: 4514: 4509: 4506: 4494: 4490: 4484: 4481: 4477: 4472: 4469: 4457: 4453: 4447: 4444: 4431: 4427: 4426: 4421: 4415: 4412: 4399: 4395: 4389: 4386: 4373: 4369: 4368: 4363: 4357: 4354: 4341: 4337: 4336: 4331: 4325: 4322: 4309: 4305: 4304: 4299: 4293: 4290: 4277: 4273: 4272: 4267: 4261: 4258: 4246: 4242: 4236: 4233: 4222: 4218: 4212: 4209: 4197: 4193: 4187: 4184: 4171: 4167: 4161: 4158: 4154: 4148: 4144: 4138: 4135: 4122: 4118: 4117: 4112: 4106: 4103: 4090: 4086: 4080: 4077: 4064: 4060: 4054: 4051: 4038: 4034: 4030: 4024: 4021: 4009: 4002: 3995: 3992: 3980: 3973: 3967: 3964: 3952: 3945: 3939: 3936: 3924: 3917: 3911: 3908: 3903: 3899: 3893: 3890: 3886: 3881: 3878: 3874: 3869: 3866: 3862: 3857: 3854: 3850: 3845: 3842: 3838: 3833: 3831: 3827: 3822: 3818: 3812: 3809: 3796: 3792: 3788: 3781: 3778: 3773: 3770: 3763: 3760: 3755: 3751: 3744: 3741: 3736: 3732: 3725: 3722: 3712: 3708: 3701: 3698: 3693: 3689: 3682: 3679: 3674: 3670: 3663: 3660: 3655: 3651: 3644: 3641: 3636: 3632: 3625: 3622: 3617: 3614: 3607: 3604: 3600: 3595: 3592: 3587: 3583: 3577: 3575: 3571: 3567: 3562: 3559: 3555: 3550: 3547: 3542: 3538: 3532: 3529: 3525: 3520: 3517: 3505: 3501: 3495: 3492: 3486: 3482: 3475: 3472: 3458: 3454: 3447: 3444: 3439: 3435: 3431: 3425: 3422: 3416: 3412: 3405: 3402: 3389: 3385: 3378: 3375: 3370: 3366: 3359: 3356: 3344: 3340: 3333: 3330: 3317: 3313: 3309: 3303: 3300: 3287: 3283: 3279: 3273: 3270: 3257: 3253: 3247: 3244: 3240: 3238: 3234: 3229: 3225: 3221: 3215: 3212: 3199: 3196:. Git.or.cz. 3195: 3189: 3186: 3181: 3177: 3170: 3167: 3162: 3159: 3152: 3149: 3144: 3140: 3133: 3130: 3125: 3121: 3114: 3111: 3106: 3102: 3095: 3092: 3087: 3084: 3077: 3074: 3069: 3065: 3058: 3056: 3052: 3039: 3035: 3031: 3024: 3021: 3008: 3004: 2998: 2995: 2982: 2978: 2977:Linux Journal 2974: 2967: 2964: 2951: 2947: 2943: 2937: 2935: 2931: 2918: 2914: 2910: 2904: 2902: 2898: 2885: 2881: 2877: 2871: 2869: 2865: 2852: 2848: 2844: 2838: 2836: 2832: 2820: 2816: 2809: 2806: 2794: 2790: 2784: 2782: 2778: 2773: 2769: 2763: 2759: 2755: 2754: 2746: 2743: 2730: 2726: 2725: 2720: 2714: 2712: 2708: 2695: 2691: 2690: 2682: 2680: 2678: 2676: 2672: 2667: 2663: 2659: 2653: 2651: 2647: 2633: 2629: 2626: 2619: 2617: 2613: 2609: 2604: 2601: 2588: 2584: 2578: 2575: 2562: 2558: 2557: 2552: 2546: 2543: 2530: 2526: 2525: 2520: 2514: 2511: 2498: 2494: 2493: 2488: 2482: 2479: 2466: 2462: 2461:"Git website" 2456: 2453: 2441: 2434: 2431: 2418: 2414: 2410: 2404: 2401: 2388: 2384: 2380: 2374: 2371: 2365: 2355: 2353: 2351: 2349: 2347: 2345: 2343: 2341: 2339: 2337: 2335: 2333: 2331: 2329: 2327: 2325: 2323: 2321: 2319: 2315: 2311: 2305: 2302: 2295: 2291: 2288: 2286: 2283: 2281: 2278: 2277: 2273: 2267: 2262: 2259: 2253: 2248: 2245: 2234: 2229: 2227: 2225: 2221: 2213: 2211: 2209: 2205: 2201: 2197: 2192: 2189: 2183: 2180: 2176: 2172: 2168: 2164: 2160: 2156: 2152: 2148: 2143: 2137: 2132: 2131:merge request 2128: 2124: 2120: 2116: 2112: 2108: 2105: 2101: 2100:origin/master 2097: 2093: 2089: 2085: 2084: 2083: 2077: 2075: 2073: 2069: 2065: 2057: 2054: 2051: 2048: 2045: 2044: 2043: 2040: 2038: 2030: 2028: 2026: 2022: 2018: 2015:, 10.60% for 2014: 2004: 2001: 1998: 1995: 1992: 1991: 1988: 1986: 1983: 1980: 1977: 1976: 1973: 1970: 1967: 1965: 1962: 1961: 1958: 1955: 1952: 1950: 1947: 1946: 1943: 1941: 1938: 1936: 1934: 1931: 1930: 1927: 1925: 1922: 1920: 1918: 1915: 1914: 1911: 1909: 1907: 1904: 1902: 1899: 1898: 1895: 1893: 1891: 1888: 1886: 1883: 1882: 1878: 1875: 1872: 1869: 1867: 1864: 1863: 1860: 1857: 1854: 1851: 1849: 1846: 1845: 1841: 1838: 1835: 1832: 1830: 1827: 1826: 1822: 1819: 1816: 1813: 1810: 1809: 1805: 1802: 1799: 1796: 1793: 1792: 1789: 1786: 1783: 1780:has included 1779: 1775: 1773: 1769: 1764: 1756: 1751: 1748: 1745: 1744: 1740: 1735: 1732: 1729: 1726: 1725: 1721: 1716: 1713: 1712: 1708: 1703: 1700: 1697: 1694: 1691: 1688: 1685: 1684: 1680: 1678: 1672: 1670: 1666: 1663: 1661: 1656: 1652: 1643: 1640: 1625: 1616: 1612: 1609:This section 1607: 1604: 1600: 1599: 1590: 1587: 1579: 1569: 1565: 1561: 1555: 1554: 1550: 1545:This section 1543: 1539: 1534: 1533: 1528: 1526: 1519: 1518: 1513: 1512: 1507: 1502: 1493: 1492: 1486: 1484: 1482: 1478: 1474: 1470: 1464: 1456: 1451: 1447: 1443: 1439: 1435: 1432: 1429: 1425: 1421: 1417: 1414: 1411: 1407: 1403: 1399: 1396: 1393: 1389: 1386: 1382: 1378: 1374: 1371: 1368: 1367: 1363: 1361: 1359: 1347: 1342: 1335: 1333: 1330: 1328: 1323: 1321: 1317: 1311: 1309: 1304: 1302: 1298: 1294: 1290: 1287:Go-git is an 1285: 1283: 1279: 1275: 1270: 1268: 1264: 1260: 1256: 1252: 1248: 1243: 1241: 1237: 1233: 1229: 1225: 1221: 1217: 1216:DragonFly BSD 1213: 1205: 1201: 1197: 1190: 1185: 1182: 1179: 1175: 1171: 1168: 1165: 1162: 1159: 1156: 1153: 1150: 1149: 1148: 1137: 1135: 1133: 1129: 1125: 1121: 1113: 1106: 1103: 1096: 1093: 1086: 1080: 1079: 1078: 1076: 1068: 1063: 1060: 1057: 1054: 1051: 1048: 1047: 1046: 1043: 1041: 1037: 1031: 1028: 1020: 1016: 1012: 1009: 1005: 1001: 998: 994: 991: 986: 982: 979: 975: 971: 970: 969: 967: 962: 959: 957: 953: 949: 946:(also called 945: 941: 932: 928: 924: 922: 918: 914: 908: 906: 898: 893: 890: 881: 875: 872: 869: 865: 862: 861: 860: 854: 849: 845: 841: 837: 833: 828: 824: 819: 815: 811: 810: 809: 803: 801: 799: 795: 791: 787: 775: 766: 762: 758: 754: 750: 747: 740: 735: 732: 729: 725: 722: 718: 714: 711: 708: 704: 700: 695: 691: 688: 685: 681: 677: 673: 670: 667: 663: 659: 655: 651: 647: 644: 641: 637: 633: 629: 625: 621: 618: 614: 611: 610: 609: 602: 597: 595: 588: 585: 582: 579: 578: 577: 573: 571: 566: 564: 560: 556: 552: 544: 542: 540: 535: 532: 527: 521: 518: 515: 511: 507: 506: 505: 501: 499: 495: 491: 487: 483: 479: 475: 471: 467: 459: 457: 455: 451: 447: 443: 438: 433: 431: 427: 422: 420: 416: 411: 409: 405: 401: 397: 393: 389: 385: 384:client–server 380: 378: 374: 369: 367: 363: 359: 354: 352: 349: 345: 341: 337: 334: 328: 310: 300: 293: 287: 283: 280: 277: 275: 271: 268: 265: 263: 259: 255: 251: 248: 244: 240: 236: 232: 228: 225: 223: 219: 216: 212: 208: 204: 200: 196: 192: 189:Primarily in 188: 184: 177: 172: 154: 153: 151: 149: 145: 141: 135: 129: 127: 123: 119: 105: 101: 97: 95: 91: 88: 85: 83: 79: 72: 67: 63: 58: 52: 48: 44: 40: 33: 19: 6045: 6038: 6031: 5918: 5864: 5858: 5844: 5830: 5816: 5784: 5773:Team Concert 5761:Surround SCM 5722: 5708: 5597: 5530: 5459: 5450: 5432: 5414: 5402:. Retrieved 5370:. Retrieved 5359: 5350: 5338:. Retrieved 5324: 5312:. Retrieved 5308:the original 5289: 5277:. Retrieved 5262: 5250:. Retrieved 5236: 5224:. Retrieved 5220: 5211: 5199: 5187:. Retrieved 5183: 5174: 5166: 5162: 5153: 5142:, retrieved 5136: 5130: 5119:, retrieved 5113: 5107: 5095: 5086: 5079:. Retrieved 5070: 5061: 5048: 5039: 5027:. Retrieved 5019:Ars Technica 5018: 5009: 4999:30 September 4997:. Retrieved 4983: 4973:30 September 4971:. Retrieved 4957: 4947:30 September 4945:. Retrieved 4931: 4921:30 September 4919:. Retrieved 4905: 4895:30 September 4893:. Retrieved 4879: 4867:. Retrieved 4863:the original 4853: 4841:. Retrieved 4837:the original 4827: 4815:. Retrieved 4811:the original 4801: 4792: 4785:. Retrieved 4775: 4757: 4739: 4727:. Retrieved 4713: 4701:. Retrieved 4697: 4688: 4676:. Retrieved 4672: 4663: 4654: 4647:. Retrieved 4638: 4629: 4615: 4601: 4582: 4563: 4553: 4541:. Retrieved 4527: 4508: 4496:. Retrieved 4492: 4483: 4471: 4459:. Retrieved 4455: 4446: 4434:. Retrieved 4423: 4414: 4402:. Retrieved 4388: 4376:. Retrieved 4365: 4356: 4344:. Retrieved 4333: 4324: 4312:. Retrieved 4301: 4292: 4280:. Retrieved 4269: 4260: 4248:. Retrieved 4244: 4235: 4224:, retrieved 4220: 4211: 4199:. Retrieved 4195: 4186: 4174:. Retrieved 4160: 4146: 4137: 4127:20 September 4125:. Retrieved 4114: 4105: 4093:. Retrieved 4089:the original 4079: 4067:. Retrieved 4053: 4041:. Retrieved 4032: 4023: 4011:. Retrieved 4007: 3994: 3982:. Retrieved 3978: 3966: 3954:. Retrieved 3950: 3938: 3926:. Retrieved 3922: 3910: 3901: 3892: 3880: 3868: 3856: 3844: 3820: 3811: 3799:. Retrieved 3790: 3780: 3772:linux-kernel 3771: 3762: 3754:the original 3743: 3724: 3710: 3700: 3691: 3681: 3672: 3662: 3653: 3643: 3634: 3624: 3616:linux-kernel 3615: 3606: 3594: 3585: 3561: 3549: 3531: 3519: 3507:. Retrieved 3503: 3494: 3481:"Git rocks!" 3474: 3461:. Retrieved 3456: 3446: 3434:Git Concepts 3433: 3424: 3404: 3392:. Retrieved 3388:the original 3377: 3368: 3358: 3346:. Retrieved 3342: 3332: 3320:. Retrieved 3311: 3302: 3290:. Retrieved 3281: 3272: 3260:. Retrieved 3246: 3231: 3223: 3214: 3202:. Retrieved 3188: 3179: 3169: 3160: 3151: 3142: 3132: 3123: 3113: 3104: 3094: 3086:linux-kernel 3085: 3076: 3067: 3042:. Retrieved 3033: 3023: 3011:. Retrieved 3006: 2997: 2985:. Retrieved 2976: 2966: 2954:. Retrieved 2945: 2921:. Retrieved 2917:the original 2912: 2888:. Retrieved 2879: 2855:. Retrieved 2851:the original 2846: 2822:. Retrieved 2818: 2808: 2796:. Retrieved 2792: 2752: 2745: 2733:. Retrieved 2723: 2698:. Retrieved 2688: 2665: 2636:. Retrieved 2628:linux-kernel 2627: 2603: 2591:. Retrieved 2577: 2565:. Retrieved 2554: 2545: 2533:. Retrieved 2522: 2513: 2501:. Retrieved 2490: 2481: 2469:. Retrieved 2455: 2445:15 September 2443:. Retrieved 2433: 2421:. Retrieved 2403: 2391:. Retrieved 2373: 2304: 2258:Linux portal 2217: 2193: 2184: 2178: 2174: 2170: 2166: 2162: 2158: 2144: 2141: 2130: 2127:pull request 2126: 2118: 2110: 2103: 2099: 2095: 2091: 2087: 2081: 2061: 2041: 2036: 2034: 2019:, 1.30% for 2010: 1787: 1776: 1760: 1676: 1667: 1664: 1657: 1653: 1650: 1635: 1619: 1615:adding to it 1610: 1582: 1573: 1558:Please help 1546: 1522: 1515: 1509: 1508:Please help 1505: 1466: 1350: 1331: 1325:JS-Git is a 1324: 1312: 1305: 1286: 1271: 1253:port of the 1244: 1209: 1186:: see above. 1183: 1173: 1169: 1163: 1157: 1151: 1145:git show-ref 1141: 1131: 1127: 1119: 1117: 1111: 1101: 1091: 1072: 1061: 1055: 1049: 1044: 1038:, which use 1035: 1032: 1024: 1014: 1003: 996: 984: 973: 966:object store 963: 960: 955: 951: 947: 943: 942:: a mutable 938:Git has two 937: 926: 920: 916: 910: 902: 891: 878: 873: 863: 858: 843: 839: 835: 831: 807: 783: 760: 752: 693: 662:Secure Shell 606: 593: 575: 570:read-me file 567: 550: 548: 536: 531:self-hosting 528: 525: 513: 502: 486:SourcePuller 484:had created 463: 434: 432:community. 423: 412: 381: 373:Linux kernel 370: 355: 308: 307: 279:GPL-2.0-only 253:Available in 203:Shell script 131:2.46.1  94:Developer(s) 51: 5987:Interleaved 5927:Plastic SCM 5895:Proprietary 5802:Distributed 5672:AccuRev SCM 5665:Proprietary 5572:Proprietary 5404:26 December 5372:26 December 5356:"Git 2.6.1" 5340:26 December 5314:22 December 5279:22 December 5252:6 September 4649:25 November 4153:source code 4095:30 November 4059:"downloads" 3715:, on using 3394:12 February 3044:8 September 2735:26 December 2423:19 December 2393:20 December 2179:.git/config 2078:Conventions 1692:TortoiseGit 1473:SourceForge 1450:MIT license 1446:Go language 1428:GPL license 1388:Phabricator 1377:Apache MINA 1364:Open source 1289:open-source 990:Merkle tree 827:Source code 788:(SCCS) and 699:Merkle tree 539:maintenance 478:Larry McVoy 446:SourceForge 430:open-source 404:synchronize 362:distributed 348:developing 344:source code 201:written in 6063:Categories 6040:Comparison 6014:Repository 5873:GNU Bazaar 5832:Code Co-op 5655:Subversion 5539:Local only 5531:in italics 5121:4 December 5045:"git-init" 4543:1 November 4522:, Pro Git. 4394:"hlibgit2" 4245:keybase.io 4221:github.com 4043:2 February 3801:3 February 3509:25 October 3348:25 October 3292:21 January 2956:2 February 2923:2 February 2890:2 February 2857:2 February 2824:2 February 2638:3 February 2567:12 October 2535:12 October 2175:.git/hooks 2167:.git/hooks 2031:Extensions 2017:Subversion 1829:Subversion 1717:SourceTree 1689:SourceTree 1511:improve it 1461:See also: 1406:Subversion 1353:git daemon 1336:Git server 1327:JavaScript 1301:encryption 1130:file will 1128:.gitignore 1120:.gitignore 1088:git clone 917:filesystem 870:algorithm. 796:(SCCS) or 684:GNU Bazaar 666:Subversion 388:repository 186:Written in 148:Repository 113:2005-04-07 5965:Changeset 5879:Mercurial 5818:BitKeeper 5731:Integrity 5703:ClearCase 5300:Newsgroup 5221:Atlassian 5184:Atlassian 5163:Atlassian 4787:9 January 4436:13 August 4378:24 August 4346:24 August 4314:24 August 4298:"libgit2" 4176:24 August 4111:"msysGit" 3717:git-blame 3034:InfoWorld 3007:Linux.com 2819:InfoWorld 2366:Citations 2220:trademark 2214:Trademark 2208:SHAttered 2194:Git uses 2129:, a.k.a. 2122:(hotfix). 2047:git-annex 2021:Mercurial 1866:Mercurial 1669:Windows. 1622:June 2024 1576:June 2024 1547:does not 1517:talk page 1477:Bitbucket 1420:Mercurial 1416:Kallithea 1402:Mercurial 1398:RhodeCode 1392:Mercurial 1303:for Git. 1251:Mingw-w64 1124:text file 1077:include: 874:recursive 804:Downsides 765:heuristic 720:together. 703:Mercurial 680:Mercurial 652:(HTTPS), 632:Mercurial 628:BitKeeper 508:Take the 498:Mercurial 494:protocols 470:BitKeeper 450:Bitbucket 413:Git is a 400:directory 6033:Category 6009:Monorepo 5948:Baseline 5941:Concepts 5920:TeamWare 5911:Services 5885:Monotone 5866:GNU arch 5755:StarTeam 5745:(1980s?) 5697:) (2014) 5691:Services 5687:) (2005) 5586:Panvalet 5442:Archived 5424:Archived 5398:Archived 5366:Archived 5334:Archived 5273:Archived 5246:Archived 5075:Archived 5053:Archived 5023:Archived 4993:Archived 4967:Archived 4941:Archived 4915:Archived 4889:Archived 4767:Archived 4749:Archived 4723:Archived 4643:Archived 4590:Archived 4537:Archived 4516:Archived 4461:10 March 4430:Archived 4404:30 April 4398:Archived 4372:Archived 4362:"pygit2" 4340:Archived 4330:"rugged" 4308:Archived 4282:29 April 4276:Archived 4250:19 April 4226:19 April 4201:19 April 4170:Archived 4121:Archived 4063:Archived 4037:Archived 3795:Archived 3735:Archived 3541:Archived 3485:Archived 3463:10 April 3438:Archived 3415:Archived 3316:Archived 3286:Archived 3256:Archived 3233:Torvalds 3228:Archived 3224:PC World 3198:Archived 3038:Archived 2981:Archived 2950:Archived 2884:Archived 2798:4 August 2772:Archived 2729:Archived 2694:Archived 2632:Archived 2587:Archived 2561:Archived 2529:Archived 2497:Archived 2465:Archived 2417:Archived 2387:Archived 2310:LGPLv2.1 2230:See also 2138:Security 2119:git-flow 2111:reverted 2088:git init 2072:Perforce 2053:git-flow 1901:Perforce 1757:Adoption 1408:with an 1358:TCP port 1110:, which 1098:git add 1090:, which 1082:git init 1069:Commands 1015:packfile 883:—  780:command. 778:git fsck 761:packfile 707:Monotone 656:(HTTP), 640:Monotone 563:man page 366:branches 351:software 5767:Synergy 5751:(1970s) 5719:(1980s) 5588:(1970s) 5302::  5226:15 June 5189:15 June 5144:22 June 5081:15 June 4729:23 June 4564:Pro Git 4535:. Git. 4498:10 July 4013:10 June 3984:10 June 3956:10 June 3928:10 June 3430:"Trust" 3322:15 June 3262:21 July 3237:British 3204:14 July 2753:Pro Git 2724:Pro Git 2593:20 July 2204:signing 2147:Windows 2068:Windows 1568:removed 1553:sources 1442:Forgejo 1320:Haskell 1282:Eclipse 1240:Windows 1232:Solaris 1228:OpenBSD 1220:FreeBSD 1158:remotes 1112:commits 892:octopus 864:resolve 731:Garbage 727:needed. 466:license 460:History 392:network 331:) is a 290:git-scm 285:Website 274:License 256:English 247:Windows 239:Solaris 193:, with 159:.kernel 111: ( 5970:Commit 5953:Branch 5929:(2006) 5923:(1992) 5905:Server 5887:(2003) 5881:(2005) 5875:(2005) 5869:(2001) 5861:(2005) 5855:(2007) 5853:Fossil 5849:(2002) 5841:(2002) 5835:(1997) 5827:(2017) 5825:Breezy 5821:(2000) 5789:(1994) 5781:(2003) 5775:(2008) 5769:(1990) 5763:(2002) 5757:(1995) 5739:(1995) 5733:(2001) 5727:(1984) 5713:(1994) 5705:(1992) 5681:Server 5674:(2002) 5657:(2000) 5651:(1998) 5645:(1998) 5602:(1991) 5594:(1985) 5582:(1969) 5563:(1973) 5557:(1982) 5361:GitHub 5029:24 May 4869:29 May 4843:29 May 4817:29 May 4703:1 July 4678:1 July 4570:  4425:GitHub 4367:GitHub 4335:GitHub 4303:GitHub 4271:GitHub 4166:"JGit" 4116:GitHub 4069:14 May 3343:Medium 3282:GitHub 3013:18 May 2987:28 May 2764:  2758:Apress 2700:16 May 2556:GitHub 2524:GitHub 2503:9 June 2492:GitHub 2471:9 June 2413:GitHub 2383:GitHub 2096:origin 2092:master 1858:10.9% 1839:16.1% 1823:93.9% 1820:87.2% 1768:GitHub 1736:giggle 1481:GitLab 1469:GitHub 1424:Python 1373:Gerrit 1360:9418. 1308:Python 1278:Gerrit 1267:Cygwin 1238:, and 1226:, and 1224:NetBSD 1178:Gerrit 1092:clones 997:commit 770:git gc 743:git gc 694:commit 638:, and 636:Bazaar 603:Design 545:Naming 454:GitLab 442:GitHub 408:remote 396:server 336:system 295:  215:Python 43:GitLab 39:GitHub 6004:Merge 5975:Gated 5958:Trunk 5839:Darcs 5779:Vault 5693:(via 5683:(via 5643:CVSNT 4004:(PDF) 3975:(PDF) 3947:(PDF) 3919:(PDF) 2946:Alexa 2913:Alexa 2880:Alexa 2847:Alexa 2296:Notes 2196:SHA-1 2182:day. 2171:pulls 2151:macOS 2005:4.3% 2002:4.8% 1978:Other 1971:7.9% 1956:7.9% 1879:1.1% 1876:3.6% 1852:12.2% 1842:5.2% 1833:36.9% 1817:69.2% 1814:69.3% 1806:2022 1803:2018 1733:GitUI 1704:GitUI 1438:Gitea 1426:with 1381:Jetty 1284:IDE. 1263:MSYS2 1236:macOS 1212:Linux 1164:stash 1152:heads 1036:packs 952:cache 948:stage 944:index 823:inode 774:SHA-1 753:packs 624:Darcs 622:Like 559:Linux 340:files 235:macOS 231:Linux 227:POSIX 47:Gitea 45:, or 6047:List 5999:Fork 5846:DCVS 5743:SCLM 5724:DSEE 5710:CMVC 5695:TFVC 5685:TFVC 5599:QVCS 5592:PVCS 5561:SCCS 5406:2015 5374:2015 5342:2015 5316:2014 5281:2014 5254:2016 5228:2020 5191:2020 5146:2021 5123:2020 5083:2020 5031:2017 5001:2016 4975:2016 4949:2016 4923:2016 4897:2016 4871:2019 4845:2019 4819:2019 4789:2020 4731:2014 4705:2024 4680:2024 4651:2020 4568:ISBN 4545:2013 4500:2019 4463:2024 4438:2013 4406:2013 4380:2012 4348:2012 4316:2012 4284:2024 4252:2019 4228:2019 4203:2019 4178:2012 4129:2016 4097:2021 4071:2012 4045:2020 4015:2024 3986:2024 3958:2024 3930:2024 3803:2017 3511:2020 3465:2009 3396:2015 3350:2020 3324:2020 3294:2016 3264:2012 3206:2012 3046:2015 3015:2023 2989:2020 2958:2020 2925:2020 2892:2020 2859:2020 2826:2020 2800:2022 2762:ISBN 2737:2015 2702:2007 2640:2017 2595:2014 2569:2014 2537:2014 2505:2022 2473:2022 2447:2024 2425:2015 2395:2015 2163:.git 2159:.git 2149:and 2117:The 2104:main 1999:4.8% 1996:9.3% 1993:None 1984:3.0% 1981:5.8% 1968:1.7% 1953:2.0% 1939:0.4% 1923:0.6% 1905:3.3% 1889:4.2% 1873:1.9% 1870:7.9% 1855:7.3% 1848:TFVC 1836:9.1% 1800:2017 1797:2015 1794:Name 1761:The 1727:gitg 1698:gitg 1551:any 1549:cite 1479:and 1404:and 1346:diff 1316:Ruby 1274:Java 1259:Perl 1247:port 1204:GTK+ 1200:gitg 1184:tags 1174:e.g. 1170:meta 1062:Tags 1056:HEAD 1027:hash 1019:zlib 985:tree 978:file 974:blob 964:The 921:zero 705:and 682:and 568:The 468:for 452:and 292:.com 262:Type 213:and 207:Perl 197:and 171:.git 169:/git 167:/git 165:/scm 163:/pub 161:.org 6019:Tag 5859:Git 5637:CVS 5555:RCS 5460:Git 5088:it. 5071:Git 5049:Git 4698:Git 4673:Git 4493:Git 4196:Git 4147:Git 3902:Git 3821:Git 3791:git 3711:git 3692:git 3673:git 3654:git 3635:git 3586:Git 3457:git 3369:git 3312:Git 3180:git 3161:git 3124:git 3105:git 3068:git 2666:git 2222:of 1917:VSS 1885:CVS 1811:Git 1660:GUI 1617:. 1562:by 1297:SQL 1261:5, 1230:), 1132:not 1004:tag 950:or 848:CPU 818:CVS 551:git 514:not 488:by 375:by 309:Git 245:), 243:AIX 211:Tcl 195:GUI 157:git 55:Git 6065:: 5458:. 5396:. 5382:^ 5358:. 5298:. 5271:. 5244:. 5219:. 5182:. 5165:. 5161:. 5085:. 5073:. 5069:. 5051:. 5047:. 5017:. 4791:. 4765:. 4696:. 4671:. 4653:. 4637:. 4562:. 4491:. 4454:. 4428:. 4422:. 4396:. 4370:. 4364:. 4338:. 4332:. 4306:. 4300:. 4274:. 4268:. 4243:. 4219:, 4194:. 4168:. 4145:. 4119:. 4113:. 4061:. 4035:. 4031:. 4006:. 3977:. 3949:. 3921:. 3900:. 3829:^ 3819:. 3789:. 3733:. 3709:. 3690:. 3671:. 3652:. 3633:. 3584:. 3573:^ 3502:. 3483:. 3455:. 3432:. 3413:. 3367:. 3341:. 3314:. 3310:. 3284:. 3280:. 3254:. 3222:. 3178:. 3141:. 3122:. 3103:. 3066:. 3054:^ 3036:. 3032:. 3005:. 2975:. 2948:. 2944:. 2933:^ 2911:. 2900:^ 2882:. 2878:. 2867:^ 2845:. 2834:^ 2817:. 2791:. 2780:^ 2770:. 2721:. 2710:^ 2674:^ 2664:. 2649:^ 2615:^ 2585:. 2553:. 2521:. 2495:. 2489:. 2463:. 2411:. 2381:. 2317:^ 2125:A 2027:. 1520:. 1483:. 1475:, 1471:, 1322:. 1293:Go 1257:, 1242:. 1234:, 1222:, 1218:, 1172:: 1118:A 1013:A 1002:A 995:A 983:A 972:A 634:, 630:, 626:, 456:. 448:, 444:, 421:. 241:, 237:, 233:, 209:, 205:, 41:, 5513:e 5506:t 5499:v 5462:. 5408:. 5376:. 5344:. 5318:. 5283:. 5256:. 5230:. 5193:. 5033:. 5003:. 4977:. 4951:. 4925:. 4899:. 4873:. 4847:. 4821:. 4733:. 4707:. 4682:. 4623:. 4609:. 4596:. 4576:. 4547:. 4502:. 4465:. 4440:. 4408:. 4382:. 4350:. 4318:. 4286:. 4254:. 4205:. 4180:. 4155:) 4151:( 4149:. 4131:. 4099:. 4073:. 4047:. 4017:. 3988:. 3960:. 3932:. 3904:. 3823:. 3805:. 3588:. 3526:. 3513:. 3467:. 3398:. 3352:. 3326:. 3296:. 3266:. 3208:. 3048:. 3017:. 2991:. 2960:. 2927:. 2894:. 2861:. 2828:. 2802:. 2739:. 2704:. 2642:. 2571:. 2539:. 2507:. 2475:. 2449:. 2427:. 2397:. 2312:. 1642:) 1636:( 1624:) 1620:( 1589:) 1583:( 1578:) 1574:( 1570:. 1556:. 1527:) 1523:( 1452:. 1430:. 1412:. 1206:. 1180:, 844:N 840:N 836:N 832:N 745:. 717:C 327:/ 324:t 321:ɪ 318:ɡ 315:/ 311:( 229:( 191:C 115:) 49:. 34:. 20:)

Index

Git (software)
Git (disambiguation)
GitHub
GitLab
Gitea


Original author(s)
Linus Torvalds
Developer(s)
Stable release
Edit this on Wikidata
Repository
git.kernel.org/pub/scm/git/git.git
Edit this at Wikidata
C
GUI
programming scripts
Shell script
Perl
Tcl
Python
Operating system
POSIX
Linux
macOS
Solaris
AIX
Windows
Type

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.