path: root/Documentation/howto
AgeCommit message (Collapse)Author
2021-03-27Document how we do embargoed releasesJohannes Schindelin
Whenever we fix critical vulnerabilities, we follow some sort of protocol (e.g. setting a coordinated release date, keeping the fix under embargo until that time, coordinating with packagers and/or hosting sites, etc). Similar in spirit to `Documentation/howto/maintain-git.txt`, let's formalize the details in a document. Signed-off-by: Johannes Schindelin <> Signed-off-by: Junio C Hamano <>
2020-07-07Merge branch 'js/pu-to-seen'Junio C Hamano
The documentation and some tests have been adjusted for the recent renaming of "pu" branch to "seen". * js/pu-to-seen: tests: reference `seen` wherever `pu` was referenced docs: adjust the technical overview for the rename `pu` -> `seen` docs: adjust for the recent rename of `pu` to `seen`
2020-06-25docs: adjust the technical overview for the rename `pu` -> `seen`Johannes Schindelin
This patch tries to rewrite history a bit: the mail contents that have been added to Git's source code are actually fixed, we cannot change them in hindsight. But as the `pu` branch _was_ renamed, and as the documents were added to Git's source code not so much as historical record, but to describe the status quo, let's pretend that we have a time machine and adjust the provided information accordingly. Where appropriate, quotes were added for readability. Signed-off-by: Johannes Schindelin <> Signed-off-by: Junio C Hamano <>
2020-03-09update how-to-maintain-gitJunio C Hamano
Some parts of the workflow described in the document has got a bit stale with the recent toolchain improvements. Update the procedure a bit, and also describe the convention used around SQUASH??? fixups. Signed-off-by: Junio C Hamano <>
2019-11-07Documentation: fix a bunch of typos, both old and newElijah Newren
Reported-by: Jens Schleusener <> Signed-off-by: Elijah Newren <> Signed-off-by: Junio C Hamano <>
2019-03-13doc: format pathnames and URLs as monospace.Corentin BOMPARD
Applying CodingGuidelines about monospace on pathnames and URLs. See Documentation/CodingGuidelines.txt for more information. Signed-off-by: Corentin BOMPARD <> Signed-off-by: Nathan BERBEZIER <> Signed-off-by: Pablo CHABANNE <> Signed-off-by: Matthieu MOY <> Signed-off-by: Junio C Hamano <>
2018-10-30Merge branch 'uk/merge-subtree-doc-update'Junio C Hamano
Belated documentation update to adjust to a new world order that happened a yew years ago. * uk/merge-subtree-doc-update: howto/using-merge-subtree: mention --allow-unrelated-histories
2018-10-25howto/using-merge-subtree: mention --allow-unrelated-historiesUwe Kleine-König
Without passing --allow-unrelated-histories the command sequence fails as intended since commit e379fdf34fee ("merge: refuse to create too cool a merge by default"). To setup a subtree merging unrelated histories is normal, so add the option to the howto document. Signed-off-by: Uwe Kleine-König <> Signed-off-by: Junio C Hamano <>
2018-10-11doc: fix a typo and clarify a sentenceMihir Mehta
I noticed that git-merge-base was unlikely to actually be a git command, and tried it in my shell. Seeing that it doesn't work, I cleaned up two places in the docs where it appears. Signed-off-by: Mihir Mehta <> Signed-off-by: Junio C Hamano <>
2018-03-27t/helper: merge test-sha1 into test-toolNguyễn Thái Ngọc Duy
Signed-off-by: Nguyễn Thái Ngọc Duy <> Signed-off-by: Junio C Hamano <>
2017-04-21doc: use https links to avoid http redirectJeff King
Many sites these days unconditionally redirect http requests to their https equivalents. Let's make our links https in the first place to save the client a redirect. Signed-off-by: Jeff King <> Signed-off-by: Junio C Hamano <>
2016-10-26Merge branch 'po/fix-doc-merge-base-illustration'Junio C Hamano
Some AsciiDoc formatter mishandles a displayed illustration with tabs in it. Adjust a few of them in merge-base documentation to work around them. * po/fix-doc-merge-base-illustration: doc: fix the 'revert a faulty merge' ASCII art tab spacing doc: fix merge-base ASCII art tab spacing
2016-10-25doc: fix the 'revert a faulty merge' ASCII art tab spacingPhilip Oakley
The asciidoctor doc-tool stack does not always respect the 'tab = 8 spaces' rule expectation, particularly for the Git-for-Windows generated html pages. This follows on from the 'doc: fix merge-base ASCII art tab spacing' fix. Use just spaces within the block of the ascii art. All other *.txt ascii art containing three dashes has been checked. Asciidoctor correctly formats the other art blocks that do contain tabs. Signed-off-by: Philip Oakley < Signed-off-by: Junio C Hamano <>
2016-06-27new-command.txt: correct the command description fileNguyễn Thái Ngọc Duy
It has always been command-list.txt even at the time this new-command.txt document is added. Signed-off-by: Nguyễn Thái Ngọc Duy <> Signed-off-by: Junio C Hamano <>
2015-05-21command-list.txt: add the common groups blockSébastien Guimmara
The ultimate goal is for "git help" to display common commands in groups rather than alphabetically. As a first step, define the groups in a new block, and then assign a group to each common command. Add a block at the beginning of command-list.txt: init start a working area (see also: git help tutorial) worktree work on the current change (see also:[...] info examine the history and state (see also: git [...] history grow, mark and tweak your history remote collaborate (see also: git help workflows) storing information about common commands group, then map each common command to a group: git-add mainporcelain common worktree Helped-by: Eric Sunshine <> Helped-by: Junio C Hamano <> Helped-by: Emma Jane Hogbin Westby <> Signed-off-by: Sébastien Guimmara <> Reviewed-by: Eric Sunshine <> Signed-off-by: Junio C Hamano <>
2015-04-02howto: document more tools for recovery corruptionJeff King
Long ago, I documented a corruption recovery I did and gave some C code that I used to help find a flipped bit. I had to fix a similar case recently, and I ended up writing a few more tools. I hope nobody ever has to use these, but it does not hurt to share them, just in case. Signed-off-by: Jeff King <> Signed-off-by: Junio C Hamano <>
2014-11-04Documentation: typofixesThomas Ackermann
In addition to fixing trivial and obvious typos, be careful about the following points: - Spell ASCII, URL and CRC in ALL CAPS; - Spell Linux as Capitalized; - Do not omit periods in "i.e." and "e.g.". Signed-off-by: Thomas Ackermann <> Signed-off-by: Junio C Hamano <>
2014-06-06Merge branch 'ss/howto-manage-trunk'Junio C Hamano
* ss/howto-manage-trunk: How to keep a project's canonical history correct.
2014-05-28How to keep a project's canonical history correct.Stephen P. Smith
During the mail thread about "Pull is mostly evil" a user asked how the first parent could become reversed. This howto explains how the first parent can get reversed when viewed by the project and then explains a method to keep the history correct. Signed-off-by: Stephen P. Smith <> Signed-off-by: Junio C Hamano <>
2014-05-21Documentation: use "command-line" when used as a compound adjective, and fix ↵Jason St. John
other minor grammatical issues Signed-off-by: Jason St. John <> Signed-off-by: Junio C Hamano <>
2014-03-31Documentation: fix misuses of "nor"Justin Lebar
Signed-off-by: Justin Lebar <> Signed-off-by: Junio C Hamano <>
2014-02-05howto/maintain-git.txt: new version numbering schemeJunio C Hamano
We wanted to call the upcoming release "Git 1.9", with its maintenance track being "Git 1.9.1", "Git 1.9.2", etc., but various third-party tools are reported to assume that there are at least three dewey-decimal components in our version number. Adjust the plan so that vX.Y.0 are feature releases while vX.Y.Z (Z > 0) are maintenance releases. Signed-off-by: Junio C Hamano <>
2013-11-04Merge branch 'sc/doc-howto-dumb-http'Junio C Hamano
* sc/doc-howto-dumb-http: doc/howto: warn about (dumb)http server document being too old
2013-10-28doc/howto: warn about (dumb)http server document being too oldSitaram Chamarty
Describe when it is still applicable, and tell people where to go for most normal cases. Signed-off-by: Sitaram Chamarty <> Signed-off-by: Junio C Hamano <>
2013-10-25howto: add article on recovering a corrupted objectJeff King
This is an asciidoc-ified version of a corruption post-mortem sent to the git list. It complements the existing howto article, since it covers a case where the object couldn't be easily recreated or copied from elsewhere. Signed-off-by: Jeff King <> Signed-off-by: Junio C Hamano <>
2013-10-14Merge branch 'rj/doc-formatting-fix'Jonathan Nieder
* rj/doc-formatting-fix: howto/revert-a-faulty-merge: fix unescaped '^'s howto/setup-git-server-over-http: fix unescaped '^'s
2013-10-14howto/revert-a-faulty-merge: fix unescaped '^'sRamsay Jones
Several uses of the '^' operator are being interpreted by asciidoc as requests to show the following text as a superscript. In order to fix this problem, use backticks (`) to quote the text of the affected git command invocations. Signed-off-by: Ramsay Jones <> Signed-off-by: Jonathan Nieder <>
2013-10-14howto/setup-git-server-over-http: fix unescaped '^'sRamsay Jones
The text contains two 'grep' invocations which include the 'start of line' regular expression character '^'. Asciidoc mis-interprets this use of '^' as a superscript request. In order to fix this formatting problem, use backticks (`) to quote the text of the affected 'grep' command invocations. Signed-off-by: Ramsay Jones <> Signed-off-by: Jonathan Nieder <>
2013-09-04use 'commit-ish' instead of 'committish'Richard Hansen
Replace 'committish' in documentation and comments with 'commit-ish' to match gitglossary(7) and to be consistent with 'tree-ish'. The only remaining instances of 'committish' are: * variable, function, and macro names * "(also committish)" in the definition of commit-ish in gitglossary[7] Signed-off-by: Richard Hansen <> Signed-off-by: Junio C Hamano <>
2013-07-29many small typofixesOndřej Bílka
Signed-off-by: Ondřej Bílka <> Reviewed-by: Marc Branchaud <> Signed-off-by: Junio C Hamano <>
2013-07-22typofix: documentationOndřej Bílka
Signed-off-by: Ondřej Bílka <> Signed-off-by: Junio C Hamano <>
2013-04-15The name of the hash function is "SHA-1", not "SHA1"Thomas Ackermann
Use "SHA-1" instead of "SHA1" whenever we talk about the hash function. When used as a programming symbol, we keep "SHA1". Signed-off-by: Thomas Ackermann <> Signed-off-by: Junio C Hamano <>
2013-02-06Merge branch 'ta/doc-no-small-caps'Junio C Hamano
Update documentation to change "GIT" which was a poor-man's small caps to "Git". The latter was the intended spelling. Also change "git" spelled in all-lowercase to "Git" when it refers to the system as the whole or the concept it embodies, as opposed to the command the end users would type. * ta/doc-no-small-caps: Documentation: StGit is the right spelling, not StGIT Documentation: describe the "repository" in repository-layout Documentation: add a description for 'gitfile' to glossary Documentation: do not use undefined terms git-dir and git-file Documentation: the name of the system is 'Git', not 'git' Documentation: avoid poor-man's small caps GIT
2013-02-01Documentation: the name of the system is 'Git', not 'git'Thomas Ackermann
Signed-off-by: Thomas Ackermann <> Signed-off-by: Junio C Hamano <>
2013-02-01Documentation: avoid poor-man's small caps GITThomas Ackermann
In the earlier days, we used to spell the name of the system as GIT, to simulate as if it were typeset with capital G and IT in small caps. Later we stopped doing so at around 1.6.5 days. Let's stop doing so throughout the documentation. The name to refer to the whole system (and the concept it embodies) is "Git"; the command end-users type is "git". And document this in the coding guideline. Signed-off-by: Thomas Ackermann <> Signed-off-by: Junio C Hamano <>
2013-01-25Merge branch 'jc/doc-maintainer'Junio C Hamano
Describe tools for automation that were invented since this document was originally written. * jc/doc-maintainer: howto/maintain: document "### match next" convention in jch/pu branch howto/maintain: mark titles for asciidoc Documentation: update "howto maintain git"
2013-01-25howto/maintain: document "### match next" convention in jch/pu branchJunio C Hamano
Signed-off-by: Junio C Hamano <>
2013-01-04howto/maintain: mark titles for asciidocJunio C Hamano
2013-01-03Documentation: update "howto maintain git"Junio C Hamano
The flow described in the document is still correct, but over time I have automated various parts of the workflow with tools and their use was not explained at all. Update it and outline the use of two key scripts from the 'todo' branch, "Reintegrate" and "cook". Signed-off-by: Junio C Hamano <>
2012-12-21Move ./technical/api-command.txt to ./howto/new-command.txtThomas Ackermann
The contents of this document does not describe any particular API, but is more about the way to add a new command, which belongs to the "How To" section of the documentation suite. Signed-off-by: Thomas Ackermann <> Signed-off-by: Junio C Hamano <>
2012-10-18Documentation/howto: convert plain text files to asciidocThomas Ackermann
These were not originally meant for asciidoc, but they are already so close. Mark them up in asciidoc. Signed-off-by: Thomas Ackermann <> Signed-off-by: Junio C Hamano <>
2012-03-28correct spelling: an URL -> a URLJim Meyering
Signed-off-by: Jim Meyering <> Signed-off-by: Junio C Hamano <>
2012-02-01request-pull: explicitly ask tags/$name to be pulledJunio C Hamano
When asking for a tag to be pulled, disambiguate by leaving tags/ prefix in front of the name of the tag. E.g. ... in the git repository at: git:// tags/v1.2.3 for you to fetch changes up to 123456... This way, older versions of "git pull" can be used to respond to such a request more easily, as "git pull $URL v1.2.3" did not DWIM to fetch v1.2.3 tag in older versions. Also this makes it clearer for humans that the pull request is made for a tag and he should anticipate a signed one. Signed-off-by: Junio C Hamano <>
2012-01-18pulling signed tag: add howto documentJunio C Hamano
Signed-off-by: Junio C Hamano <>
2011-09-07Minor update to how-to maintain gitJunio C Hamano
A few more parts of this document is stale that needs updating to reflect the reality, but I do not regularly rebase topics that are only in "pu" anymore, which may be noteworthy for a commit. Signed-off-by: Junio C Hamano <>
2011-02-09Documentation/merge subtree How-To: fix typoUwe Kleine-König
Signed-off-by: Uwe Kleine-König <> Signed-off-by: Junio C Hamano <>
2010-08-31Merge branch 'jn/cherry-revert-message-clean-up'Junio C Hamano
* jn/cherry-revert-message-clean-up: tests: fix syntax error in "Use advise() for hints" test cherry-pick/revert: Use advise() for hints cherry-pick/revert: Use error() for failure message Introduce advise() to print hints Eliminate “Finished cherry-pick/revert” message t3508: add check_head_differs_from() helper function and use it revert: improve success message by adding abbreviated commit sha1 revert: don't print "Finished one cherry-pick." if commit failed revert: refactor commit code into a new run_git_commit() function revert: report success when using option --strategy
2010-08-22Typos in code comments, an error message, documentationRalf Wildenhues
Signed-off-by: Ralf Wildenhues <> Signed-off-by: Junio C Hamano <>
2010-08-16Eliminate “Finished cherry-pick/revert” messageJonathan Nieder
When cherry-pick was written (v0.99.6~63, 2005-08-27), “git commit” was quiet, and the output from cherry-pick provided useful information about the progress of a rebase. Now next to the output from “git commit”, the cherry-pick notification is so much noise (except for the name of the picked commit). $ git cherry-pick ..topic Finished cherry-pick of 499088b. [detached HEAD 17e1ff2] Move glob module to libdpkg Author: Guillem Jover <> 8 files changed, 12 insertions(+), 9 deletions(-) rename {src => lib/dpkg}/glob.c (98%) rename {src => lib/dpkg}/glob.h (93%) Finished cherry-pick of ae947e1. [detached HEAD 058caa3] libdpkg: Add missing symbols to Versions script Author: Guillem Jover <> 1 files changed, 2 insertions(+), 0 deletions(-) $ The noise is especially troublesome when sifting through the output of a rebase or multiple cherry-pick that eventually failed. With the commit subject, it is already not hard to figure out where the commit came from. So drop the “Finished” message. Cc: Christian Couder <> Cc: Thomas Rast <> Signed-off-by: Jonathan Nieder <> Signed-off-by: Junio C Hamano <>
2010-03-24Teach rebase the --no-ff option.Marc Branchaud
For, --no-ff is a synonym for --force-rebase. For, --no-ff cherry-picks all the commits in the rebased branch, instead of fast-forwarding over any unchanged commits. --no-ff offers an alternative way to deal with reverted merges. Instead of "reverting the revert" you can use "rebase --no-ff" to recreate the branch with entirely new commits (they're new because at the very least the committer time is different). This obviates the need to revert the reversion, as you can re-merge the new topic branch directly. Added an addendum to revert-a-faulty-merge.txt describing the situation and how to use --no-ff to handle it. Signed-off-by: Marc Branchaud <> Signed-off-by: Junio C Hamano <>