This survey is anonymous, but all information that the users provide (raw data) will be publicly available on the Git Wiki, at https://git.wiki.kernel.org/index.php/GitSurvey2016, to allow for independent analysis.
Note that you may skip questions as you like. All questions are OPTIONAL.
You can also return to this survey after submission, and correct it, or fill more questions later. This feature makes this survey to require to have COOKIES ENABLED, at least for this site, to be able to submit.
Alternatively if you want to submit this survey totally anonymous, without need for Javascript or cookies enabled, you can use the following channel:
https://tinyurl.com/GitSurvey2016-anon
https://survs.com/survey/naeec8kwd8
Note however that using this channel would mean that you cannot return to the survey after submission to correct it. There is also no protection against multiple submissions from the same computer.
This survey consist of 50 questions.
About you
Please provide just the number.
4.
How would you describe your occupation / role as a Git user?
Please try to fit within 4 choices/selections that best describe your role.
Git project and you
5.
Have you ever contributed to Git project (code, documentation, i18n, etc.)?
6.
Have you ever reviewed contribution to Git project?
7.
What's stopping you from contributing to Git (if you wanted to but didn't)?
What was hardest / most difficult when contributing to Git?
Getting started with Git
8.
Have you found Git easy to learn?
9.
Have you found Git easy to use?
Both question "8. Have you found Git easy to learn?" and "9. Have you found Git easy to use?" are about being it easy or hard in general.
10.
Rate your own proficiency with Git:
You can think of it as 1-5 numerical grade of your proficiency in Git.
11.
Which Git version(s) are you using?
You can find git version by using "git --version" or "git version".
"Minor release" is additional specification, so if you for example use git version 2.6.3, please check both "2.6.x" and "minor release". The same holds for "2.x.y-rcN version": for example if you use "v2.10.0-rc3" please check both "2.9.x or newer" and "-rcN version".
"version from msysGit / Git for Windows" can also be thought as an additional specification.
Getting and updating Git
12.
On which operating system(s) do you use Git?
On Unix-based operating system you can get the name of operation system by running 'uname'.
13.
How do/did you obtain Git (install and/or upgrade)?
One can install Git in different ways on different machines or on different operating systems; or even use different versions, installed in different ways. Please select all answers that apply.
14.
How often do you upgrade Git?
If you have Git installed on different machines, and you update those different machines them with different frequencies, please check all answers that apply.
How do you use Git
15.
What kind of projects etc. do you use Git for?
Please check multiple answers if some of your repositories fit one answer, and some the other.
16.
I use Git for (check all that apply):
17.
What kind of Git tools do you use?
Here graphics diff tool means tools such as Kompare, and graphical merge tool means tools such as Meld and KDiff3. Those answers include graphical merge and diff tools used by programmers editors and IDEs.
"graphical history browser (any)" covers tools such as gitk, QGit, Giggle, tig etc., but also built-in git commands such as "git log --graph" and "git show-branch".
"graphical commit tool" means tool that is used to create new commits such as git-gui. If a GUI you use is also used as graphical history viewer (as can be the case for example with QGit), please select both answers.
Using web interface of git software forge means using it either to view history, view graphical diffs, editing files, or creating commits (which includes merging pull requests).
This question is about tools which you use for about repositories where you participate actively in development; if you only watch repository or use forge for downloads, please don't select this answer.
Please select tool that you use somewhat regularly (at least from time to time).
18.
List git tools that you are using, one per line, or as comma separated list
Please include only frontends, interfaces and tools that have support for Git; if possible write the name of plugin/module (e.g. "EGit" for Eclipse, "VC.el" or "magit" for Emacs, etc.). Please don't put an editor or IDE if you use it only to edit files and/or edit commit messages, without any integration with Git; add it if you view history or create and manipulate commits from within said editor or IDE.
Please either use comma separated list of tools, or put each tool in a separate line. That would make analysis of answers simpler. Thanks in advance.
19.
How often do you use Git command line (and other command line tools)?
Git hosting sites and software forges
20.
Which git hosting site(s) do you use for your project(s)?
Please check only those hosting sites / software forges where you publish/push to, and where you have your own repositories.
21.
If you, your project or your company self-hosts Git repositories, what Git repository management tools do you/they use?
22.
Do you use paid git hosting, and if so, why?
Interacting with other Git repositories, workflows
23.
How do you fetch/get changes from upstream repositories and/or other developers?
This question asks about how do you get changes (updates) from projects you follow into your local repository. It is not about how do you get latest version of Git.
Fetching (or rather cloning) via bundle could mean that project publishes ready for download bundles to reduce traffic and load on server (HTTP download [of bundle] can be resumed, git-clone currently cannot; one can also distribute bundle using P2P).
24.
How do you publish/propagate your changes?
Publishing via bundle could mean sending bundle via email, or posting it on review board (or forum).
Instead of git-format-patch there can be utilized other way of generating patch (git-show, git-diff, 'patch' view from gitweb, etc.). Please select this answer regardless of how patch or patch series to be sent is generated.
25.
What git workflow(s) is used by projects in which development you participate?
26.
What types of branches can be found in your repositories?
Please answer only about repositories you use or are contributing to (your local repositories)
27.
How do you integrate changes from others?
28.
How do you sign your Git repositories?
How do you use Git?
29.
Which of the following Git features do you use?
30.
Describe what features would you like to have in Git, what are you missing
31.
What tool do you use to create new commits?
32.
What do you use submodules (or their equivalent, like subtree) for?
References:
[1]: https://git-scm.com/book/en/v2/Git-Tools-Submodules
[2]: https://developer.atlassian.com/blog/2015/05/the-power-of-git-subtree/
[3]: https://www.kernel.org/pub/software/scm/git/docs/git-submodule.html
[4]: https://raw.githubusercontent.com/git/git/master/contrib/subtree/git-subtree.txt
The "other purpose" answer is not for commenting about the state of submodules support in Git. Thanks in advance.
Other version control systems
Explanation: "using" version control system here means using it to actively contribute (propose changes or accept proposals), and not for example only using it to download software.
33.
What other centralized, local or per-file version control systems (VCS) do you use beside Git?
If you use more than one centralized version control system not on this list, please put them as comma separated list for easier parsing. Centralized version control systems are characterized by the fact that there is only one single repository, one server that stores full history of a project or set of projects.
Note that distributed version control systems are listed in question below.
Please select only those version control systems that you actively use.
34.
What other distributed version control systems do you use beside Git?
Please select only those version control systems that you actively use.
35.
How does Git compare to other SCM tools that you have used?
What you think of Git?
36.
Overall, how happy are you with Git?
37.
In your opinion, which areas in Git needs improvement?
Please state your preference.
38.
What do you like most about Git? (optional)
39.
What do you hate about Git? (optional)
Other tools
40.
How do you read and answer email (or Usenet news)? Check all that apply.
41.
Which of the decentralized/federated systems do you use or are interested in?
42.
Which of IDEs (Integrated Development Environments) and/or programmer editors do you use [with Git]?
43.
Which of the programming languages are you proficient with?
Documentation. Getting help.
44.
How useful have you found the following sources of Git documentation?
References
* help distributed with Git includes their online version:
- https://git.github.io/htmldocs/git.html
- https://git-scm.com/docs/
- https://www.kernel.org/pub/software/scm/git/docs/
* Git Wiki can be found at http://git.wiki.kernel.org
* Git Reference site can be found at http://gitref.org
* StackOverflow Documentation refers to http://stackoverflow.com/documentation/git
* "Pro Git" can be found at https://git-scm.com/book and https://progit.org
* hosting sites' and GUI tools' tutorials include
- https://help.github.com/
- https://www.atlassian.com/git/
- https://www.git-tower.com/learn/git/ebook
* on-line help includes, among others, Git Homepage (http://git-scm.com) and documentation therein (except manpages and "Pro Git"), Git Ready (http://gitready.com), etc.
* help distributed with git include manpages, manual, tutorials, HOWTO, release notes, technical documentation, contrib/examples/
45.
How useful have you found the following kinds of documentation included with Git?
46.
What channel(s) do you use to request help about Git?
47.
Which books about Git have you read and can recommend, or plan to read?
About this survey. Git News. Open forum.
48.
How did you hear about this Git User's Survey?
49.
How do you hear about git related news (such as new releases, new features and community events)?
50.
What other comments or suggestions do you have, that are not covered by the questions above?
If you have cookies enabled, you can always submit partially filled survey, and return to your answers at later time (from the same web browser), completing it later. Unless you use anonymous channel (without cookies).