我是应用数学的研究员。我每天编码,但我的重点始终是科学而不是编码所以我从来没有学过好的软件工程实践。我试图改变它至少一点。
目前,我正在进行一些相似的模拟;我们称之为S1 S2和S3。我先写了S1的代码。然后让我说我想为S2编写代码。它足够相似,只需复制S1的代码并稍微改变一下即可。在git中设置分支是否适合这种情况?我不确定该功能是用于同时存在的代码版本,还是用于尝试进行某些修改并最终使分支成为代码的主要版本。
我发现的另一件事是,有时当我编辑S2时,我发现某些事情是错误的,也可能是效率低下的事情。所以我想更改此代码,但我也希望将更改反映在S1中。有效地执行此操作的任何方法或您是否必须手动传播所有代码中的更改?当然,自动化工具无法区分我所做的哪些变化对于S1和S2之间的差异以及应该传播的变化是必不可少的。但也许如果git中的树结构被利用,它提供的额外信息在这里可能有用吗?
谢谢!
答案 0 :(得分:2)
这不是版本控制的问题;您应该使用给定编程语言中可用的任何工具将S1的共享部分提取到共享库,然后S1,S2和S3可以导入和扩展。你绝对应该不尝试在Git中执行此操作。