场景一:我们在feature分支开发完某模块或功能的代码,并且已经确保将所有的内容上传到了feature分支上,如果我们想将新增的代码合并到master分支上,这时我们可以使用Git的merge
命令,具体步骤如下:
- 使用命令
git checkout branch_name1
切换到需要merge的分支下; - 使用命令
git merge branch_name2
合并branch_name2的内容,这时Git会提示很多Removing或者Auto-merging的内容,这里我们需要重点关注CONFLICT下的内容,看修改了哪些内容。还有就是提示Automatic merge failed下的内容需要我们手动去处理,该部分内容在文本中会有<<<<<<< HEAD
标识; - 处理完CONFLICT后,重新上传工程。(使用merge命令后分支旁边会有|MERGING的标识)
![](https://img.haomeiwen.com/i12574551/decf22c01a9f659c.png)
git add .
git commit -m "写一下对工程的描述"
git push origin branch_name`
场景二:我们在master分支上进行了大量的修改,但是最后却不想push或者commit到master分支上,这个时候如果直接checkout就有可能会把当前分支修改的内容覆盖掉。这个时候为了以防万一,可以使用Git的暂存功能,具体步骤如下:
- 使用
git stash
命令将当前的修改暂存起来; - 通过
git checkout branch_name
命令切换到需要提交的分支上; - 在分支下使用命令
git stash pop
弹出数据; - 重新上传工程。
git add .
git commit -m "写一下对工程的描述"
git push origin branch_name`
场景三:我们在release-1.0.2分支上做了大量的修改,并且确认这个版本是最后的版本,这时我们想将这个分支的内容全部覆盖推送到master或其他分支,注意这里我们不想merge,具体的步骤如下:
- 使用
git push origin branch_name2:branch_name1 -f
命令将branch_name2分支的内容强推到branch_name1上; - 使用
git checkout branch_name1
命令切换到branch_name1分支; - 使用
git reset --hard branch_name2
命令将本地的旧分支branch_name1重置成branch_name2; - 重新上传工程。
git add .
git commit -m "写一下对工程的描述"
git push origin branch_name`
网友评论