经常会遇到要在分支和主干上同时做相同的修改,可以使用打补丁的方式
一种做法是用git format-patch
1. 在一个分支上修改好之后,提交,并拿到submit号,例如ab68d50e804b9b31c831a203fae2f0693f29930d
2. git format-patch -M -C ab68d50e804b9b31c831a203fae2f0693f29930d~1..ab68d50e804b9b31c831a203fae2f0693f29930d
表示一个范围,~1表示之前一个提交
3. 上面这步会生成一个0001-.patch文件(文件名可能不同)
4. 切换到另一个分支上,git am 0001-.patch(失败)
5. 使用git apply 0001-.patch即可,还需要自己commit,push
我在应用.patch文件到分支上时失败,于是我用了另外一种方法
1.在一个分支上修改好后,暂不提交,用git diff > abc.patch生成一个diff文件
2.提交到当前分支后切换到另一个分支
3.git apply abc.patch即可
相关推荐
5. **合并冲突解决**:当多个开发者修改同一部分代码时,Git会提示合并冲突,用户可以手动解决这些冲突后再提交。 Git 2.20 版本可能包含了性能优化、新特性和修复的bug。升级到最新版本可以确保利用到Git的所有...
而merge命令则是用来合并分支,即将两个分支的变更合并到一起。 Git还支持远程仓库管理。远程仓库是被称作“origin”的默认远程仓库以外的仓库。在多人协作的项目中,通常会有一个共享的远程仓库,团队成员可以在...
`git merge <branch_name>`将指定分支的更改合并到当前分支。 - **远程仓库操作**:`git remote add origin <url>`添加远程仓库;`git push origin <branch_name>`将本地分支推送到远程仓库;`git pull origin ...
- **不在执行储藏的分支上恢复**:先切换到正确的分支再使用`git stash pop`。 - **不在分支的一个工作点恢复**:确认工作区状态后再恢复储藏。 通过上述内容,我们可以了解到Git的基本操作和常用命令,这对于...
- **合并分支**:使用`git merge`命令将一个分支合并到当前分支。 - 示例命令:`git merge <branch-to-merge>` **8. 查看旧版本而不创建新分支** - 使用`git checkout`命令加上特定的提交ID或标签来查看旧版本的...
- `git merge branch`:将指定分支合并到当前分支。 - **创建分支**: - `git branch branch`:基于当前分支创建新的分支。 - `git checkout -b new other`:基于其他分支创建新分支并切换到该分支。 ##### 发布...
- **变基操作**:使用`git rebase <branch>`命令可以将当前分支上的更改移动到另一个分支的顶部。 - **冲突处理**:当合并或变基过程中发生冲突时,需要手动解决冲突,并使用`git add <conflicted-file>`和`git ...
从2005年开始,Git经历了多个版本的迭代更新,逐步成为现在这样功能完善、性能强大的版本管理工具。 Git的几个核心特性包括:开源,意味着用户可以自由使用且没有专利限制;支持非线性开发,它能很好地支持多个并行...
它胜过SCM工具,如颠覆,CVS,Perforce公司,和ClearCase与像廉价的本地分支,便捷的中转区,和多个工作流功能。与CVS、Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,...
11. **补丁与cherry-pick**:`git format-patch`可以创建补丁文件,方便分享或应用单个或多个提交。`git cherry-pick`用于将一个提交的应用从一个分支到另一个分支。 12. **重置与回退**:`git reset`是一个强大的...
- `git rebase master <branch>`将master分支的变更应用到另一个分支,相当于一系列的`git co`, `git rebase`, `git co`操作。 15. Git的补丁管理: - `git diff > ../sync.patch`生成补丁文件,方便在多台机器间...
- **合并(Merge)**:将两个或多个分支的更改合并到一起。 - **变基(Rewrite History)**:改变提交历史,重新组织分支之间的关系。 - **撤销(Undo)**:撤销最近的更改或提交。 - **补丁(Patch)**:将特定的更改导出为...
- **合并分支**:`git merge <branch>` 将指定分支的改动合并到当前分支。 - **rebase**:`git rebase <branch>` 将当前分支的提交移动到指定分支的顶端,使历史线更清晰。 ### Git 补丁管理 通过`git format-...
6. **合并(Merge)**:将一个分支的更改合并到另一个分支,通常用于把开发分支的更新合并到主分支。 7. **远程仓库(Remote Repository)**:如GitHub、GitLab等平台提供的在线仓库,可以通过`git push`和`git ...
5. **合并(Merge)**:将一个分支的更改合并到另一个分支。 6. **拉取(Pull)**:从远程版本库获取并合并最新更改到本地。 7. **推送(Push)**:将本地的更改推送到远程版本库。 8. **重置(Reset)**:撤销提交...
- **合并**:使用`git merge`命令合并两个分支的更改。 - **不间断工作流**:指使用`git stash`等命令可以暂时隐藏当前工作以便处理其他任务。 - **重组杂乱**:`git filter-branch`等高级命令可以帮助整理混乱的...
2. **rebase**:`git rebase <branch>`将当前分支的变更应用到另一个分支之上,使历史线更简洁。 **Git 补丁管理** 当你在多台机器上开发时,`git format-patch`可以创建补丁文件,然后通过`git am <patch_file>`...