一次编辑多个分支中的共享文件

时间:2015-08-04 15:17:08

标签: git

如何更改文件并更新所有分支(因为所有文件都相同)。

我有一个用于dockerized应用程序的git repo(韵律,但并不重要)。在这个回购中,我(现在)有2个分支:稳定和夜间,对应于韵律的释放。两个存储库共享相同的readme文件 - 无论您是否要使用每晚或稳定版本,Docker容器的使用都是相同的。

现在,我在readme找到了拼写错误。

据我了解,我必须创建一个分支来修复此错字并将更改合并到两个(所有)分支。这是最简单的方法吗?这是否正确?

另一种解决方案可能是让主分支仅包含readme并在该分支中添加Dockerfile.gitignore。然后我对master进行了更改,并对其他分支进行了修改。

我问,因为我也可以考虑其他情况 - 可能有几个分支需要更新(例如.zshrc包含一些在所有机器上都应该相同的设置我使用zsh打开的每个系统的分支 - 其中一个有docker,另一个用于android开发或者其他)

谢谢!

1 个答案:

答案 0 :(得分:2)

如果你想要一个修补程序,你可以使用cherry-pick,它允许你选择一个提交并将diff补丁应用到你想要应用它的分支。

例如,假设您直接在master上创建了修补程序,让我们调用您要更新的其他分支:ab

# current branch master just after the commit of the readme, let's say the
# abbreviation of your hash is abcdef

git checkout a
git cherry-pick abcdef

git checkout b
git cherry-pick abcdef