Documentation: alter checkout --orphan description

The present text is a try to enhance description accuracy.  It is a
merge of the rewritten text made by native english speaker Chris Johnsen
and further changes of Junio.  It came from the last thread messages of
--orphan patch.

Signed-off-by: Erick Mattos <erick.mattos@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Erick Mattos 2010-05-21 21:28:35 -03:00 committed by Junio C Hamano
parent 770c54170a
commit feb98d1342

View file

@ -91,22 +91,29 @@ explicitly give a name with '-b' in such a case.
details. details.
--orphan:: --orphan::
Create a new branch named <new_branch>, unparented to any other Create a new 'orphan' branch, named <new_branch>, started from
branch. The new branch you switch to does not have any commit <start_point> and switch to it. The first commit made on this
and after the first one it will become the root of a new history new branch will have no parents and it will be the root of a new
completely unconnected from all the other branches. history totally disconnected from all the other branches and
commits.
+ +
When you use "--orphan", the index and the working tree are kept intact. The index and the working tree are adjusted as if you had previously run
This allows you to start a new history that records set of paths similar "git checkout <start_point>". This allows you to start a new history
to that of the start-point commit, which is useful when you want to keep that records a set of paths similar to <start_point> by easily running
different branches for different audiences you are working to like when "git commit -a" to make the root commit.
you have an open source and commercial versions of a software, for example.
+ +
If you want to start a disconnected history that records set of paths This can be useful when you want to publish the tree from a commit
totally different from the original branch, you may want to first clear without exposing its full history. You might want to do this to publish
the index and the working tree, by running "git rm -rf ." from the an open source branch of a project whose current tree is "clean", but
top-level of the working tree, before preparing your files (by copying whose full history contains proprietary or otherwise encumbered bits of
from elsewhere, extracting a tarball, etc.) in the working tree. code.
+
If you want to start a disconnected history that records a set of paths
that is totally different from the one of <start_point>, then you should
clear the index and the working tree right after creating the orphan
branch by running "git rm -rf ." from the top level of the working tree.
Afterwards you will be ready to prepare your new files, repopulating the
working tree, by copying them from elsewhere, extracting a tarball, etc.
-m:: -m::
--merge:: --merge::