Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tilmanschweitzer/92644be0de00e2650614b8b62c608914 to your computer and use it in GitHub Desktop.
Save tilmanschweitzer/92644be0de00e2650614b8b62c608914 to your computer and use it in GitHub Desktop.
COMPONENT_NAME=timepicker
GREP_E_MATCHER="(timepicker|other_string)"
TMP_BRANCH=$COMPONENT_NAME-tmp
git checkout -b $TMP_BRANCH
git filter-branch -f --prune-empty --index-filter 'git ls-files | grep -v -E "$GREP_E_MATCHER" | xargs git rm --cached --ignore-unmatch --quiet' HEAD
git checkout --orphan $COMPONENT_NAME
git rm --cached -r .
rm -f .gitignore
git clean -fd
for GIT_HASH in $(git log --reverse --pretty=format:"%H" --no-merges $TMP_BRANCH);
do
DIFF=$(git diff $GIT_HASH)
if [[ ! -z $DIFF ]]; then
echo
echo "cherry-pick: $GIT_HASH"
git log $GIT_HASH -n 1 --oneline
git cherry-pick $GIT_HASH
fi
done
git filter-branch -f --env-filter 'export GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment