GIT如何使用不同的文件更新分支

时间:2013-12-27 14:44:28

标签: git git-branch git-merge git-stash

我正在使用英文文本的主分支和另一个名为german_translation的分支。

德语分支与主分支相同 - 但德语分支有一个额外的文件夹/value-de,其中包含一个文件strings.xml

在向主分支添加新内容时,我想用master中的新内容更新德语分支,并将新的翻译文本添加到德语strings.xml。

我的问题是由于德国分公司拥有的额外文件和文件夹,合并无效。

这是不是/什么东西? 但是,您能描述通过此分支更新过程的完整步骤吗?

提前致谢!

编辑:这是我收到的错误消息

由于未合并的文件无法合并。您必须在合并之前解决所有合并冲突。解决冲突后,您可能还希望将文件提交到当前分支。

EDIT2 :(那是德国人......)

git status

# Auf Branch german_translation
# Sie haben nicht zusammengeführte Pfade.
#  (beheben Sie die Konflikte und führen Sie "git commit" aus)
#
# zum Commit vorgemerkte Änderungen:
#
#       geändert:   src/main/res/values/strings.xml
#
# Nicht zusammengeführte Pfade:
#   (benutzen Sie "git add/rm <Datei>..." um die Auflösung entsprechend zu markieren)
#
#       von denen gelöscht: src/main/res/values-de/strings.xml
#

1 个答案:

答案 0 :(得分:1)

一种可能性是文件值-de / strings.xml在主分支上存在一个点,随后被删除。与此同时,在德语翻译分支上,同一个文件的主分支上没有更新。

当从master发生下一次合并时,它包含了values-de / strings.xml的删除操作,但由于分支上有更新,因此无法完成,而是导致合并冲突。 / p>

现在git要求您手动解决此合并冲突,即优先,删除文件或在此分支上对其进行的更改?

如果要保留文件中的更改,请执行

git add src/main/res/values-de/strings.xml
git commit

如果没有,你会执行:

git rm src/main/res/values-de/strings.xml
git commit

这将完成您的上一次合并,所以现在您可以再次合并以获取最新的。

另外,您可能需要考虑将德语翻译保留在主分支中。分支通常用于保留过去的版本或用于功能开发。