何时创建新的git分支与提交更新

何时创建新的git分支与提交更新,git,github,branch,commit,Git,Github,Branch,Commit,我对使用git很陌生。我的问题是关于何时创建新分支与提交更改是明智的 如果我对代码进行更改,我可以在新分支下进行更改,也可以在现有分支中提交并推送这些更改 如果我可以查看历史记录并比较这两种方法随时间的变化-问题是何时创建新分支是明智的?这取决于您的团队/组织的开发过程。通常,对于版本控制系统(不仅是git,还有其他类似svn的系统),典型的工作流程是将maindeveloper分支作为基线。每当您需要修复bug、添加新功能或测试一些您希望保留的实验性代码时,您只需根据最新版本的develope

我对使用git很陌生。我的问题是关于何时创建新分支与提交更改是明智的

如果我对代码进行更改,我可以在新分支下进行更改,也可以在现有分支中提交并推送这些更改


如果我可以查看历史记录并比较这两种方法随时间的变化-问题是何时创建新分支是明智的?

这取决于您的团队/组织的开发过程。通常,对于版本控制系统(不仅是git,还有其他类似svn的系统),典型的工作流程是将main
developer
分支作为基线。每当您需要修复bug、添加新功能或测试一些您希望保留的实验性代码时,您只需根据最新版本的
develope
创建一个新分支-
myBranch

一旦测试了代码、同行评审了代码等(取决于团队的流程),您就可以将更改合并回
develope


简而言之,要回答您的问题,一般的经验法则是,如果您需要对任何功能进行更改,您应该在分支上工作。这是软件开发中相当标准的开发工作流程。养成在分支机构之外工作的习惯,这样做不会受到惩罚,这是受到鼓励的。这将保持基线的完整性,并确保代码更改在导入之前得到审查。

这主要取决于您的团队/组织的开发过程。通常,对于版本控制系统(不仅是git,还有其他类似svn的系统),典型的工作流程是将main
developer
分支作为基线。每当您需要修复bug、添加新功能或测试一些您希望保留的实验性代码时,您只需根据最新版本的
develope
创建一个新分支-
myBranch

一旦测试了代码、同行评审了代码等(取决于团队的流程),您就可以将更改合并回
develope


简而言之,要回答您的问题,一般的经验法则是,如果您需要对任何功能进行更改,您应该在分支上工作。这是软件开发中相当标准的开发工作流程。养成在分支机构之外工作的习惯,这样做不会受到惩罚,这是受到鼓励的。这将保持基线不变,并确保代码更改在导入之前得到审查。

我想这取决于不同的影响因素。比如你的工作目的,你是在团队中工作还是在个人项目中工作

大多数情况下,当我们在团队项目/任务中工作时,我的工作被我的团队领导/高级同事审查并合并到主分支时,总是希望我们总是从新推入的
主分支
中保持更新,并且还需要为新任务启动
新分支
。此外,我们的分支机构名称应与我们的相关工作保持一致。假设我正在处理用户登录任务,因此最好将我的工作分支命名为
功能用户登录
,这样我的审阅者就可以很容易地从分支名称中了解到我试图在master中推送的内容。我们还必须添加有意义的
提交消息
,以便我的其他团队成员能够轻松理解这些代码中实际发生的事情


当您处理单个项目并且您是项目的唯一贡献者时,确实不需要保留多个分支。您可以通过一个
主分支完成整个工作
,或者出于某种跟踪目的,您可以维护两个/三个分支。但是,当您执行不同的模块工作或修复任何bug时,最好创建
新分支。只是为了你自己的清晰

我想这取决于不同的影响因素。比如你的工作目的,你是在团队中工作还是在个人项目中工作

大多数情况下,当我们在团队项目/任务中工作时,我的工作被我的团队领导/高级同事审查并合并到主分支时,总是希望我们总是从新推入的
主分支
中保持更新,并且还需要为新任务启动
新分支
。此外,我们的分支机构名称应与我们的相关工作保持一致。假设我正在处理用户登录任务,因此最好将我的工作分支命名为
功能用户登录
,这样我的审阅者就可以很容易地从分支名称中了解到我试图在master中推送的内容。我们还必须添加有意义的
提交消息
,以便我的其他团队成员能够轻松理解这些代码中实际发生的事情

当您处理单个项目并且您是项目的唯一贡献者时,确实不需要保留多个分支。您可以通过一个
主分支完成整个工作
,或者出于某种跟踪目的,您可以维护两个/三个分支。但是,当您执行不同的模块工作或修复任何bug时,最好创建
新分支。只是为了你自己的清晰

看一看。有一个中心开发分支是一个常见的工作流,如果您开始实施一个新功能,分支功能分支会断开,然后在功能完成后将其合并回开发。请看。有一个中心开发分支是一个常见的工作流,如果您开始实现一个新的功能,分支功能分支会断开,然后在功能完成后将其合并回开发。