热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

合并并推送到远程时,是否有任何方法可以忽略本地提交历史记录?

如何解决《合并并推送到远程时,是否有任何方法可以忽略本地提交历史记录?》经验,为你挑选了1个好方法。

我们希望在git上有每个开发人员的分支。换句话说,开发人员可以从“开发”分支中分支出来,并创建自己的本地“功能”分支来进行工作。

当他们对工作感到满意时,可以切换到devel,确保它们具有最新文件,然后合并到其“功能”分支中,并在解决任何冲突后将结果推送到原始位置。但是,有一个问题-这使得提交历史非常混乱。

如果这样做git log --graph,“功能”分支不会显示,这就是我们想要的。但是,开发人员现在进行的每个提交都会显示在devel分支上。太丑了 如果有10个开发人员,并且每个开发人员在全部合并到devel中之前对他们的功能分支进行了30次提交,那么devel现在将显示180次提交的历史,共6个功能。如果历史记录仅显示6的消息合并为devel,那就更好了。

有什么方法可以避免合并时使历史变得“混乱”并在合并时忽略本地分支的历史?还是这只是与git对抗过多?

我意识到这听起来有些奇怪,但是他们非常不喜欢所有这些对象最终存储在远程仓库中的想法



1> jthill..:

正如您的团队所观察到的那样,如果您习惯于将初稿工作与所有最初的错误,笨拙的组织以及几乎足够好的实验和修补程序合并在一起,那么您的历史将是一场可怕的沼泽恐怖。

不要那样做

在您的本地存储库¹中进行初稿工作。然后完全重写该第一稿历史记录以供发布,这git rebase -i是为此通常推荐的命令,但是我发现git reset --soft,使用git add --patchs 后跟s可以更方便地创建可复查的历史记录,适合公众使用。然后,将其完全返工,以使反馈显而易见,并发布/合并干净的结果。

开发人员存储库中本地的第一个草稿提交系列对其他人来说,没有比读取他们的编辑器撤消缓冲区历史记录更多的用处。实际上,这就是Git初稿的本质:一个项目范围的编辑器撤消缓冲区,带有注释以帮助解决下周不可避免的“我在什么?”。问题。没有其他人需要看那些。它们是您桌上的笔记,工作产品,注定是出生时的垃圾桶。


¹有一个沼泽回购是很好的,开发人员可以在其中推送WIP内容以进行可见性和协作。重要的是,无论谁拥有WIP历史记录,都不要将其视为可丢弃的便笺。您如何管理它们与如何管理已投入生产的任何事物都非常不同


推荐阅读
author-avatar
用户hxjr5k4y3f
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有