reset checkout revert的区别
reset是回到历史某个commit状态, 删除后面的commit
checkout 迁移到新的分枝
revert 以提交一个新的commit的方式来回到历史commit
GitFlow
master
dev: 主开发分枝
feature: 对于主开发分枝的每一个个功能, 都新建分枝
release
hotfix
当需要发布时, 从dev分枝创建一个release分枝.
release分枝修复所有bug之后, 发布到dev分枝和master分枝
hotfix分枝都是从master分枝发起, 完成后合并到master和dev
操作流程
PR(poll request)从别人的仓库下载
fork -> clone-> mod-> add-> commit-> push-> pull request
中间如果需要更新
pull/ (fetch + merge)
MR(merge request)
checkout-> mod-> add-> commit-> merge request
merge 和 rebase的区别
eg. 在master的ABCDEF流中, 我在A时checkout迁出得到R, 修改之后的到ST分枝, T和F是同一时间的, 我想拉取F的修改.
merge方法将在T分枝后产生U记录, 此时解决了所有冲突. 缺点: 多出一个commit
rebase方法: S分枝是从F迁出的. 缺点: 修改了checkout时间
网友评论