所以,假设我有一个主分支,我们称之为'主'.我做了一个分支,称为"新功能".我已经在这个分支中做了大量的提交,所以我可以回到过去,但是我在开发这个功能时已经做了很多来回,所以提交日志非常混乱.
如果我要看git diff master..new-feature例如.
如果我想在'master'上创建一个新的提交,其中包括两个分支之间的所有更改,那么最有效的方法是什么?
qqx*_*qqx 29
git checkout master
git merge --squash new-feature
git commit
Run Code Online (Sandbox Code Playgroud)
提交消息将开始显示正在合并/压缩的整个提交列表,但您当然可以将其编辑为您想要的任何内容.
另一个可能对您更有效的选择是生成一个补丁文件,git diff --patch > "patch filename"然后使用git apply "patch file name".
git-diff 的手册页(尤其是“使用 -p 生成补丁”):http : //www.kernel.org/pub/software/scm/git/docs/git-diff.html
git-apply 的手册页:http : //www.kernel.org/pub/software/scm/git/docs/git-apply.html