Por*_*ker 1 c++ version-control mercurial netbeans project
我一直在考虑使用Mercurial进行版本管理,并希望尝试一下.我正计划自己做一个项目来帮助我学习来自Java的C++,并认为用它来尝试版本管理是个好主意.它可能是一个游戏或某种简单的应用程序,不确定与GUI.
问题是我对版本管理知之甚少.在项目中是否是制作存储库的好时机?我应该马上做吗?我应该多久提交一次?
我将使用Netbeans进行开发,因为它似乎非常好,内置了Mercurial控件,但是我应该在.hgignore中为我的项目设置什么?我假设存储库将是Netbeans创建的整个文件夹,但我应该忽略它?
奖金问题:我将使用Bitbucket进行托管/备份,我应该公开项目吗?为什么/为什么不呢?还会让它成为开源吗?我是否应该为附加许可证而烦恼?因为我不知道许可证是如何工作的.然后,我真诚地怀疑我会做任何想要复制得太厉害的事情.
您应该尽快使用VCS存储库.它不仅允许异地备份,还允许您跟踪更改.了解何时引入了错误.
拥有VCS,尤其是像Mercurial这样的分布式VCS,将改变您的编码方式.你不必小心不要破坏东西,因为你总是拥有可以恢复的旧版本.如果在几周或几个月之后,您决定某个特定的开发过程是一个坏主意,那么您可以一直回到之前的某个方面.
您通常应该每天或每次完成任务时提交.就像,你可能有一个4小时的任务"写这个课程,让它工作".你之后提交.当你完成这一天的时候,你会承诺.不过,我不建议在非编译状态下进行,因此只有当一切仍然存在时,你应该尝试停止这一天.
至于忽略,你应该忽略你不打算提交的东西.回购中您不想要的东西.生成的文件,临时文件,您不需要的东西.
回购中应该包含从头开始构建项目所需的100%信息(减去外部依赖项).
我会说在没有附加某种许可证的情况下建立公共存储库是非常粗鲁的.没有许可证,这意味着任何人甚至在没有您的明确许可的情况下,甚至撤回回购(这是您通过公开提出的邀请)都是对您的版权的侵犯.
因此要么看看版权是如何运作的,要么选择许可证来发布你的东西,或者保持你的回购私有.