假设我创建了一个名为fix_5109的本地分支并对其进行处理。与此同时,主分支发生了变化,我正在编辑的一些文件通常会被更改(例如/controllers/AuthController.php)。如果我将我的更改推送到origin fix_5109,那么首席开发人员想要将我的分支合并到主服务器中,如果一切正常的话。我的分支包含来自master更新的旧提交的旧AuthController.php。主分支中的文件是否会被我的文件版本覆盖,还是会拒绝我的该文件版本,只更新我在推送的分支中编辑的文件?
答案 0 :(得分:1)
git
以一种方式运行,如果已经应用了提交,则不会再次应用它(提交哈希的唯一性)。因此,对于您的情况,假设您在已经对AuthController.php进行更改的某个时间段与主人分道扬,那么您不必担心。因为,git不会重放现有的提交。
即使您的潜在客户合并了您的分支机构的更改。他基本上会有最新的代码。即)最后做出的改变(没有分歧)。如果更改是单独进行的,那么git会尝试解析提交并一个接一个地应用它们。在这种情况下,如果存在冲突,则需要明确处理它。
答案 1 :(得分:0)
git checkout master
git pull origin master
git checkout fix_5109
git rebase master
基本上使用当前的主人状态来重新分支您的分支机构将会处理您所担心的问题。