既然是 git 的设计初衷,那我在本地分支进行 merge 的时候,还是保留移植日志吧。
如果在本地分支用如下命令进行移植:
git merge master --squash
会把 master 上的文件改动同步到本地分支,但我下次在本地分支进行 commit
的时候,也会把这些文件在本地再次提交,也不合适。
在 2019/8/30 下午1:49, rainysia 写道:
git 设计初衷就是为了清晰的记录每次commit, 你的merge也是一个commit.
这样可以快速剥离错误的merge.
git merge 默认就带了 fast-forward
想要没有merge的commit, 加一个--squash
谢谢指导!
这样操作,merge 的时候,会在我本地分支生成一个移植日志,这个日志在我 push 到我的 salsa
分支的时候,会带过去,
我在向官网主分支提出合并请求,并被接受后,也会有这个移植记录。
commit 59257d294988d999f955d70b63363ef0cc428846
Merge: e698cb88a6f 3c680de4fb9
Author: Faris Xiao <atzlinux@163.com>
Date: Thu Aug 29 17:14:57 2019 +0800
Merge branch 'master' into cnwebwmlmaster
像这个我在本地的移植记录,最后传递到官网 git 记录里面,感觉没有啥意义,不知道是否需要处理下?
肖盛文
在
2019/8/30 上午8:59, rainysia 写道:
这是标准git的PR流. 采用fork->创建分支, 提交Pull
Request到主仓库申请合并.
没有任何问题, 你本地不更新, 需要加一次主仓库作为远程仓库.
具体如下
1, 增加远程仓库
2, 更新全部仓库的缓存
git remote update -p
3, 切换到你本地需要拉取最新代码的分支进行合并
git stash && git checkout master &&
git merge upstream/master
4, 切回你的分支
git checkout 你自己建的分支
5, 合并最新代码
git merge master 或者直接放弃3,4步, 直接git merge
upstream/master
6, pop stash
git stash pop
|