Git:大项目开发流程的最佳实践

标签 git methodology

我们使用 Git 进行版本控制。我正在从事一个可能会彻底改变当前代码库的大项目。一般的想法是将项目分解成更小的部分,并在本地将它们提交到 Git。因此更容易跟踪小块更新的内容。

但是,我遇到的问题是一些基本要素尚未最终确定,它可能会因与遗留系统的集成而发生变化。一个基本元素的变化(例如 API 接口(interface)、命名),所有的依赖关系也需要改变。这使我无法提交任何代码。由于基本元素的更改, checkin 的提交可能需要再次更改。因此,我保留所有未提交的内容,并在基本元素真正确定后逐个提交。

我认为这不是一个好的做法。当我完成修改每个部分时,我想提交小部分。不要等到大项目快完成了,然后再提交。我应该如何改进开发过程?

最佳答案

我建议为您的工作创建一个新分支。您可以按照以下步骤操作。

git branch

上面的命令会给你一个当前分支的列表,类似这样:

production
* master  
testing

旁边有星号的是你当前使用的分支。记下来。

现在创建一个新分支(这里我称之为“开发”,你可以给它起任何名字):

git branch development
git checkout development

从现在开始,您提交或推送的任何内容都将进入名为development 的分支。定期执行此命令以确保您与其他人使用的分支保持同步(将 master 替换为您之前记下的名称):

git merge master 

当您完成所有操作并想将您的代码添加到共享分支时,请执行以下操作:

git checkout master
git merge development

现在您又回到了原始分支,它包含所有新代码。此时您可能会遇到需要解决的 merge 冲突。或者,你们都可以永远继续使用开发分支,而不是 merge 回主分支。

关于Git:大项目开发流程的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31826800/

相关文章:

.net - 有关测试或单元测试的一些基本问题

git - 为什么同一个 git 脚本会产生不同的哈希值?

methodology - 所有程序员都应该学习和使用的基本概念是什么?

methodology - 如何处理消息不灵通的客户选择

tfs - 我怎样才能弄清楚我们正在使用哪种编程方法(如果有的话)?

agile - 敏捷软件开发方法的基本步骤

android - 无法复制 list

git - 本地删除了文件但无法将更改推送到heroku

git - 查看文件的最新差异,无需指定提交签名

git - "error: unable to push to unqualified destination: HEAD"如何解决