I dug git merge and rebase in the docs, and something didn't sink. I am actively working on a project in Git, and I need to share specific milestones with other developers. I want to split the code exactly the same as at every stage / release, but not all of my small commits leading to each version.
How to create a release branch that displays the development branch, where commits in the release branch contain several commits from the development branch? In other words, the release branch should have a concise history, but otherwise corresponds to the development branch.
Initially, I thought that using a separate branch and using git merge --squash would be effective by creating a new branch with a series of commits that reflect the full set of changes between each version. Now I understand that git merge --squash does not work for reuse.Git rebase will work to collapse multiple commits into one big commit, but since it changes the commit history, won't it change my personal history as well as public releases?
I don’t want to lose my history of small changes, but I want to push combined commits to a shared server.
Neil source
share