2010-04-01 26 views
1

我在HG中创建了一个工作存储库。 我修改了一些文件。如何将所有修改移动到分支

如何将我的所有修改移动到分支(我没有创建的分支)?如果你知道,如果你能在git中告诉我,我也会很感激)

谢谢。

回答

2

首先检查以确保ShelveExtensionAtticExtension都不会完全符合您的要求。

如果你在mercurial手动执行它,我会避免一个命名分支,只是使用另一个头。例如,如果您已经做出了想要稍微“放弃”的更改。

hg commit -m 'working on Xxx' # you created a new tip 
hg update -r -2    # switch to the revision before the tip 

现在刚开始在那里工作。您可以在hg heads后面找到匿名分支,并将其与hg merge合并。

+0

+1。你可以通过我的回答告诉我,对于“命名分支”Git模型我还是太过分了,并且在每个回购的“一个分支(和一些密切相关的匿名分支)Mercurial模型中还不够”;我仍然无法适应创建一个新的回购创建一个新的分支... – VonC 2010-04-02 21:58:09

+1

谢谢,VonC,你是一个类的行为。我在Mercurial世界中的人数正在减少,因为我仍然是一个“由Mercurial中的分支指南”中的定义克隆为分支机构的人,你明智地与之联系起来,但它肯定会帮助我找到不涉及输入“hg branch”。:) – 2010-04-03 03:55:57

4

对于Git的,如果您还没有提交您的文件,只需键入:

$ git checkout -b newbranch 
$ git commit -m "a message" 

每个文件上演此时将在新分支被提交。

对于水银,分支是不是默认的名字,只出现一个新的分支(一个回购之内),如果犯有这已经一个孩子犯了父:

enter image description here

,但你可以为创建一个新的分支名称你的下一个承诺:

hg branch branch-1   # start a new branch name 
          # modify something in the repository 
hg commit -m "branch-1"  # the changeset has branch name "branch-1" 

(另见A Guide to branching in MercurialGit & Mercurial models

+0

OP要求检入一个_existing_分支,所以你应该使用'git checkout newbranch'和'hg update branch-1'来切换到分支,而不是'git checkout -b'和'hg branch'。 (我认为这些命令都不应该混淆工作树中的修改文件。) – idbrii 2010-07-05 16:20:39

相关问题