我正试图让我的头围绕像mercurial这样的dvcs.我虽然对某些观点感到困惑.首先,一点背景:
在那一刻我主要使用subversion,它适用于我的工作流程,
大多数情况下,存储库是供我自己使用的,我是唯一的Web开发人员,而且我只向我的经理提交原始代码,他从来不必查看存储库.
我使用repo来创建主要版本,并作为备份,所以当一些东西不能解决时我可以恢复它.
repo还充当文件共享,使我能够在工作和家中使用相同的代码库.
我想要切换到mercurial的主要原因是离线提交和更容易的分支/合并.
首先,任何人都可以告诉我如何适应这个工作流程?
我如何在计算机之间共享多个存储库(即每个项目一个)?
任何帮助将非常感谢,谢谢
在git中,有一个命令'git bundle',它将git存储库捆绑成一个大文件.是否有'hg'的等效命令?
我想在hgweb webinterface中嵌入由hgactivity创建的活动图.这样做的最佳方法是什么?
这是hgactivity图的屏幕截图:
它显示了到Mercurial存储库的时间提交次数.
我有一个本地mercurial存储库,其中有5个提交仍然需要推送到服务器.但是,我在最后4次提交中意外地在两个特定文件中包含了一行,我真的不想在那里(也没有一个更改集).
有没有任何实用的方法来删除这两个文件中的那些行?(除了丢弃我的本地存储库,克隆服务器的副本,并再次手动重新应用所有更改)
我有一个.hgignore文件,非常适合隐藏编译我的C#项目时创建的所有文件和目录.
现在当做"恢复"到以前的修订时,我还想清理我的工作目录,即删除我之前编译的所有exes和dll(因为我可能最终使用错误版本的exe或dll没有意识到它).
有没有办法做到这一点(某种方式忽略.hgignore)?现在我只是删除所有bin和obj目录,但也许Hg也可以这样做...
我们有一个XML文件,其中包含我们使用的工具的设置.该工具很不错,但是如果你在使用它时更改了一些设置,那么很容易将这些设置错误地保存到XML文件中(你会得到一个问题,但很容易回答是).
有没有办法提醒用户她正在提交对此特定文件的更改?我们希望它版本化,但我们也想要集中化,我们希望设置非常稳定.
如果这很重要,它是在NTFS分区上在Windows中版本化的文件.试图将文件设置为"只读"似乎不起作用(在我设置之后,hg st仍然说没有变化).有任何想法吗?
如果只是为了看一个程序的行为,
hg up -r 1000
Run Code Online (Sandbox Code Playgroud)
完成,而当前的修订版是1020
.
然后对2个文件进行了一些更改,并且意外地提交了文件.
所以现在从版本1000到1020进行了更改,还有一些更改从1000直接到1021 ......
在这种情况下,应该如何处理?
至少有一种可能性
hg backout -r 1021
hg up tip
Run Code Online (Sandbox Code Playgroud)
并进行更改,好像1021没有发生任何事情.另一个选项是否hg merge
需要注意代码的合并方式?(因为从1000到1021的所有更改都与相同的功能和相同的文件相关).或者除了这两个之外还有其他选择吗?
我有一个文件foo.py有一些历史.我想将其重命名为bar.py,但请查看带有"hg log"的历史记录.
我试过"hg rename".它似乎没有保持历史.
仅供参考.我只浏览了手册页.
提前致谢!
谢谢你的回答.
作为附录,如果foo.py为500 KB,重命名是否会将存储库的大小增加至少500 KB?有没有办法不能做到这一点,只是存储名称映射?
因为好像什么时候
hg up default
Run Code Online (Sandbox Code Playgroud)
要么
hg up bugfix
Run Code Online (Sandbox Code Playgroud)
在一个Bash shell中使用,如果hg branch
用于显示它是哪个分支,则另一个shell也会自动更改为该分支.(所以我想如果它是一个运行Ruby on Rails的服务器,突然之间,代码将改为另一个分支)
如果使用两个单独的克隆,它可以完成...好像有两个分支......但可以使用hg的分支功能完成?
我正在与另外两个基于FireBreath的开发人员合作开发一个项目.到目前为止,我已经能够在我的机器上完美地工作,但我们需要通过Mercurial协调我们的开发.所以我将文件推送到存储库,并认为一切都很顺利.
不幸的是,这不起作用.
.vcproj
组成解决方案的各种文件都包含对本地文件系统的硬编码引用.这对我来说很好,因为我没有移动项目.但是,当您尝试在具有不同文件结构(不同驱动器号,不同文件夹位置等)的另一台计算机上构建解决方案时,一切都会中断.
我使用FireBreath的标准项目生成脚本(Python),然后使用Visual Studio CMake脚本(prep2008.cmd)生成解决方案文件.我可以做些什么来调整事情,以便其他开发人员可以使用相同的代码库?