Aptana、SourceTree和Git-初学者

Aptana、SourceTree和Git-初学者,git,aptana,bitbucket,atlassian-sourcetree,Git,Aptana,Bitbucket,Atlassian Sourcetree,我现在刚开始使用版本控制,我的头都快晕过去了!我正试着把我的头绕在分支、结帐、合并和重定基址上。我相信这些问题都很愚蠢,但我真的很感谢你的帮助 我的项目是PHP。我将Aptana studio用于我的IDE,Bitbucket和SourceTree用于Git GUI 所以我想我现在大概知道这是怎么回事了。请告诉我哪里错了 假设我想添加一个新功能。我有一个总支。在Aptana中,我可以右键单击文件→ 转到团队,然后创建新分支。我可以命名为分支功能a1bc。我做我的改变 完成此功能和所有更改后,我单

我现在刚开始使用版本控制,我的头都快晕过去了!我正试着把我的头绕在分支、结帐、合并和重定基址上。我相信这些问题都很愚蠢,但我真的很感谢你的帮助

我的项目是PHP。我将Aptana studio用于我的IDE,Bitbucket和SourceTree用于Git GUI

所以我想我现在大概知道这是怎么回事了。请告诉我哪里错了

假设我想添加一个新功能。我有一个总支。在Aptana中,我可以右键单击文件→ 转到团队,然后创建新分支。我可以命名为分支
功能a1bc
。我做我的改变

完成此功能和所有更改后,我单击团队→ 提交,然后团队合并分支主控。这会将我的更改合并回主回购


这大概就是我进行功能添加的方式吗。?随着时间的推移,如果我有100多个功能,我该怎么办?我是保留所有这些要素分支还是在它们重新合并后将其删除?

您需要决定是否以快进合并方式重新合并到
主文件中:

由于分支是为了隔离工作(请参见“”),您可以定期将
功能
分支合并到
主功能
,同时继续在
功能
分支上开发所述功能。
在这种情况下,建议使用
合并--no ff
(和)

但是,如果您创建分支以隔离短期开发,则可以通过快进合并将
功能
分支合并到
master
中(以便完全“混合”这两个分支)。
如果
master
在开发
feature
时有一些提交,则需要首先在
master
上重新设置
feature
的基础,然后在
master
中合并
feature
(这将是快速前进)

有关更多信息,请参阅:

  • “”
  • “”

关于如何做到这一点,有很多方法。如果我在事情上有发言权,我会跟随。主要是因为它是有文档记录的,并且带有.VonC,所以在我将这些特性分支合并回开发分支之后,我是否会删除特性分支?如果不是的话,我会得到一个功能分支的巨大列表。或者有没有办法把它们从列表中隐藏起来,这样它们就不会再显示了?@ipengineer:对于shrot live
feature
分支,你清理它们的历史记录(压缩一些提交,重新排序),然后在
master
的顶部重新设置
feature
分支的基础,最后将其快速合并,使其成为(已清理的)分支该
功能的历史记录
之一的分支部分。因此,在这种情况下,您并没有真正删除它(因为您保留了提交),您只是通过删除
功能
分支,删除指向所述分支的指针。@ipengineer然而,对于长寿命的
功能
分支,您将重要的提交合并回
,然后是,您还可以删除
feature
branch,它可以删除指针,但也可以“忘记”所有中间提交!