Aptana、SourceTree和Git-初学者
我现在刚开始使用版本控制,我的头都快晕过去了!我正试着把我的头绕在分支、结帐、合并和重定基址上。我相信这些问题都很愚蠢,但我真的很感谢你的帮助 我的项目是PHP。我将Aptana studio用于我的IDE,Bitbucket和SourceTree用于Git GUI 所以我想我现在大概知道这是怎么回事了。请告诉我哪里错了 假设我想添加一个新功能。我有一个总支。在Aptana中,我可以右键单击文件→ 转到团队,然后创建新分支。我可以命名为分支Aptana、SourceTree和Git-初学者,git,aptana,bitbucket,atlassian-sourcetree,Git,Aptana,Bitbucket,Atlassian Sourcetree,我现在刚开始使用版本控制,我的头都快晕过去了!我正试着把我的头绕在分支、结帐、合并和重定基址上。我相信这些问题都很愚蠢,但我真的很感谢你的帮助 我的项目是PHP。我将Aptana studio用于我的IDE,Bitbucket和SourceTree用于Git GUI 所以我想我现在大概知道这是怎么回事了。请告诉我哪里错了 假设我想添加一个新功能。我有一个总支。在Aptana中,我可以右键单击文件→ 转到团队,然后创建新分支。我可以命名为分支功能a1bc。我做我的改变 完成此功能和所有更改后,我单
功能a1bc
。我做我的改变
完成此功能和所有更改后,我单击团队→ 提交,然后团队→ 合并分支→ 主控。这会将我的更改合并回主回购
这大概就是我进行功能添加的方式吗。?随着时间的推移,如果我有100多个功能,我该怎么办?我是保留所有这些要素分支还是在它们重新合并后将其删除?您需要决定是否以快进合并方式重新合并到
主文件中:
由于分支是为了隔离工作(请参见“”),您可以定期将功能
分支合并到主功能
,同时继续在功能
分支上开发所述功能。
在这种情况下,建议使用合并--no ff
(和)
但是,如果您创建分支以隔离短期开发,则可以通过快进合并将功能
分支合并到master
中(以便完全“混合”这两个分支)。
如果master
在开发feature
时有一些提交,则需要首先在master
上重新设置feature
的基础,然后在master
中合并feature
(这将是快速前进)
有关更多信息,请参阅:
- “”
- “”
关于如何做到这一点,有很多方法。如果我在事情上有发言权,我会跟随。主要是因为它是有文档记录的,并且带有.VonC,所以在我将这些特性分支合并回开发分支之后,我是否会删除特性分支?如果不是的话,我会得到一个功能分支的巨大列表。或者有没有办法把它们从列表中隐藏起来,这样它们就不会再显示了?@ipengineer:对于shrot livefeature
分支,你清理它们的历史记录(压缩一些提交,重新排序),然后在master
的顶部重新设置feature
分支的基础,最后将其快速合并,使其成为(已清理的)分支该功能的历史记录主之一的分支部分。因此,在这种情况下,您并没有真正删除它(因为您保留了提交),您只是通过删除功能
分支,删除指向所述分支的指针。@ipengineer然而,对于长寿命的功能
分支,您将重要的提交合并回主
,然后是,您还可以删除feature
branch,它可以删除指针,但也可以“忘记”所有中间提交!