用Git合并分支

时间:2009-02-09 21:31:23

标签: git

我正在使用git for windows来管理本地项目。我有两个分支,'master'和'change_specific'。我在'change_specific'中添加了一些额外的文件。切换到“master”时,这些文件不会显示。当我打电话

git merge -m "don't need old branch" master change_specific
git告诉我“已经是最新的了。好啊!”。然而,分支似乎有不同的文件。我想删除'change_specific'并完成它,但我担心会消灭我添加的文件 - 这是一件坏事。当我扫描git文档时,似乎有些东西我错过了。 发生了什么,我该怎么办?

1 个答案:

答案 0 :(得分:10)

# git checkout master
# git merge change_specific

应该这样做。 git merge <branch1> <branch2>实际上尝试合并三个分支,即您在命令行和当前分支上提供的两个分支。如果其中两个实际上是相同的,它可能会解释“已经是最新的”消息。

如果你还没有将你的变化暴露给世界,我宁愿进行变革:

# git checkout change_specific
# git rebase master
# git checkout master
# git merge change_specific

这将应用从“更改_特定”分支到当前主分支的更改,以线性方式重写历史记录。在此之后,您可以使用git branch -d change_specific安全地删除“change_specific”分支。