繁体   English   中英

如何从git master分支中临时删除一些更改?

[英]how to temporarily remove some changes from a git master branch?

因此,对于我的第一个Web应用程序,我尝试一次开发所有或许多组件,并成功实现了我认为不可能的事情。 但是,在部署过程中,我需要一点一点地开始释放这些内容,因此,我承诺掌握的许多代码要等到以后再发布。 我现在需要将其删除,并稍后再添加回去。

如何修剪代码库,使其仅包含我现在需要的代码,并将所有提交的代码保存在我回去的位置,并在以后使用git merge添加它? (而不是让git merge删除我从master删除的那些东西)

我可能需要多次这样做。

(可能不应该这样,但是当您在没有指导的情况下学会自己发展时,便会发生这种情况。)

您可以通过执行以下操作来检出提交

git checkout hash

其中hash是git log显示的哈希字符串。 完成后,使用

git checkout master

通常,您应该有一个稳定的分支,您可以在其中合并要发布的功能。

选项1:手动选择版本

(根据hannes的回答)。 这样做的缺点是git之后没有记录,其中的提交已发布


选项2:标记版本

无论如何,标记发行是一个好习惯!

选项1相同,但您使用git tag -am'first release' v1.0 (或其他任何代码)标记了已检出的提交。 这样,您就可以记录已释放哪些提交。


选项3:虚假发布历史记录

您可以从第一次提交创建一个release分支,然后使用git merge --no-ff将每个受祝福的提交(按照选项1和2)合并到release分支上。 我仍然会标记它们,但这提供了类似虚假的开发历史记录。 如果没有其他人克隆了您的存储库,那么如果您需要结构而不是单独的分支,则可以在最后将master重置为完整的release分支。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM