зеркало из https://github.com/microsoft/git.git
filter-branch documentation: some more touch-ups.
- The map function used to fail, but no longer does (since 3520e1e8687.) - Fix the "edge-graft" example. - Show the same using .git/info/grafts. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
b5669a0504
Коммит
32c37c1237
|
@ -58,8 +58,9 @@ and GIT_COMMITTER_DATE are set according to the current commit.
|
|||
|
||||
A 'map' function is available that takes an "original sha1 id" argument
|
||||
and outputs a "rewritten sha1 id" if the commit has been already
|
||||
rewritten, fails otherwise; the 'map' function can return several
|
||||
ids on separate lines if your commit filter emitted multiple commits.
|
||||
rewritten, and "original sha1 id" otherwise; the 'map' function can
|
||||
return several ids on separate lines if your commit filter emitted
|
||||
multiple commits.
|
||||
|
||||
|
||||
OPTIONS
|
||||
|
@ -166,12 +167,13 @@ git filter-branch --index-filter 'git update-index --remove filename' newbranch
|
|||
Now, you will get the rewritten history saved in the branch 'newbranch'
|
||||
(your current branch is left untouched).
|
||||
|
||||
To "etch-graft" a commit to the revision history (set a commit to be
|
||||
the parent of the current initial commit and propagate that):
|
||||
To set a commit (which typically is at the tip of another
|
||||
history) to be the parent of the current initial commit, in
|
||||
order to paste the other history behind the current history:
|
||||
|
||||
----------------------------------------------------------------------
|
||||
git filter-branch --parent-filter sed\ 's/^$/-p <graft-id>/' newbranch
|
||||
----------------------------------------------------------------------
|
||||
------------------------------------------------------------------------
|
||||
git filter-branch --parent-filter 'sed "s/^\$/-p <graft-id>/"' newbranch
|
||||
------------------------------------------------------------------------
|
||||
|
||||
(if the parent string is empty - therefore we are dealing with the
|
||||
initial commit - add graftcommit as a parent). Note that this assumes
|
||||
|
@ -183,6 +185,13 @@ git filter-branch --parent-filter \
|
|||
'cat; test $GIT_COMMIT = <commit-id> && echo "-p <graft-id>"' newbranch
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
or even simpler:
|
||||
|
||||
-----------------------------------------------
|
||||
echo "$commit-id $graft-id" >> .git/info/grafts
|
||||
git filter-branch newbranch $graft-id..
|
||||
-----------------------------------------------
|
||||
|
||||
To remove commits authored by "Darl McBribe" from the history:
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
|
Загрузка…
Ссылка в новой задаче