bzr push默认为您推送到的第一个目标.如果我现在想要推送到其他位置,但不想每次都手动输入,我该如何更改默认值?
我想提议对Launchpad中托管的项目的源代码进行更改.
问题是:我不知道如何使用集市版控制系统,我从未使用过Launchpad,那么制作Github拉取请求的等效步骤是什么,但是应用于这个系统?
我已经阅读了一些教程,并且它们非常长而且不是非常简单,因为它应该非常简单.
使用Bazaar(bzr)作为Visual Studio 2008中的版本控制系统的最佳方法是什么?
Bazaar有一个很好的uncommit命令,它简单地撤消了最后的提交.Mercurial有没有相应的东西?
编辑:Bazaar的uncommit命令不会修改文件 - 它会删除最后一次提交和关联数据(例如,当您注意到提交消息中存在拼写错误或者未添加应该存在的文件时,这很有用) .
例如:
$ bzr ci -m "Fixed a proooblem" <-- problem is misspelt
$ bzr uncommit
...
$ bzr ci -m "Fixed a problem" <-- Exactly as if the first commit was correct.
Run Code Online (Sandbox Code Playgroud) 我正在尝试将一些旧的集市存储库转换为git,虽然一切似乎都顺利进行,但我有点不确定它是否真的像它声称的那样好.
我的bazaar存储库结构如下:
我正在使用快速导出/快速导入方法在bzr和git之间进行迁移.
最初,我使用--export-marks迁移"trunk",如下所示:
bzr fast-export --export-marks=../$1/marks.bzr ../$1/trunk | git fast-import --export-marks=../$1/marks.bzr --export-marks=../$1/marks.git
Run Code Online (Sandbox Code Playgroud)
以1美元为名称
然后迭代"repo"目录中的所有其他文件夹并调用
bzr fast-export --marks=../$1/marks.bzr --git-branch=$nick ../$1/$b/.. | git fast-import --import-marks=../$1/marks.git --export-marks=../$1/marks.git
Run Code Online (Sandbox Code Playgroud)
$ nick是bzr的分支昵称,$ 1/$ b是分支的目录名称.
正如我所说,它处理所有预期的目录,但在完成后,我做了一个
git branch
Run Code Online (Sandbox Code Playgroud)
它显示了20个分支,原始的集市存储库有80多个.
现在,只是在git中查看"master",它似乎就在那里,缺少的60个分支很容易成为已经合并到trunk中的分支.但我不确定快速导出/快速导入工具是否足够巧妙地说"呸 - 你不会需要这个",但也许它们是.
有人对这个有经验么?
在从bzr迁移到git之后,我是否应该留下"master"和任何已经在其中保留未提交的分支?
最后,为了历史,有没有办法强迫所有分支转换,即使它们在技术上已经不存在了?
我有一些朋友可能有兴趣学习使用版本控制系统来完成即将到来的硕士论文(Latex文档和各种编程).我不是在谈论任何大而复杂的东西,只是用它来备份,查看旧版本和一些基本的分支和合并.
但是,我认为选择一个对初学者来说有点容易学习的东西是个好主意.所以问题是,你会向那些不熟悉这些东西的人推荐哪个版本控制系统?
就个人而言,我一直在使用Git和Mercurial,目前我认为我倾向于Mercurial.我没有尝试过Bazaar.
到目前为止,这是我对适合新用户的功能的印象:
水银
优点:
缺点:
混帐
优点:
缺点:
市场
没试过......
显然bzr clone,当给定URL作为参数并在非bzr目录中执行时bzr branch,bzr checkout所有这些都做同样的事情.
以后的Bazaar工作流程有什么不同吗?即bzr commit,bzr update和朋友.
Git的,水银和集市似乎都具有相似的格式为他们忽略文件(.gitignore,.hgignore,.bzrignore[又见BZR模式]).
为了改善全局忽略文件的同步,将一个用作实际文件并将其他两个符号链接到该文件是否安全?换句话说,是否有任何危险使我$HOME/.gitignore的规范忽略文件和做
ln -s $HOME/.gitignore $HOME/.hgignore
ln -s $HOME/.gitignore $HOME/.bazaar/ignore
Run Code Online (Sandbox Code Playgroud)
或者他们之间是否存在一些微妙的差异会在某些时候咬我?
bazaar ×10
dvcs ×4
git ×4
mercurial ×4
branch ×1
http-proxy ×1
ignore ×1
launchpad ×1
migrate ×1
pull-request ×1