使用cherry-pick修改之前的提交
作者:shizhishi |
发布时间: |
分类:Git版本控制 |
声明:个人技术博客 • 非官方 • 仅供技术学习交流
将**某几个特定的提交**从一个分支复制到另一个分支。 现在我们有 `test` 分支 基于 `test` 分支创建 `test-copy` 分支 git checkout test #切换到需要创建备份的分支 git checkout -b test-copy #基于当前分支创建一个新分支,并自动切换到该分支 git...
### 用途
将**某几个特定的提交**从一个分支复制到另一个分支。
### 具体操作
现在我们有 `test` 分支
#### 一. 创建备份分支,获取原分支提交内容
基于 `test` 分支创建 `test-copy` 分支
```
git checkout test #切换到需要创建备份的分支
git checkout -b test-copy #基于当前分支创建一个新分支,并自动切换到该分支
```
#### 二. 根据想要更改的提交的hash,把提交内容拿过
```
git cherry-pick c3d3bb4e9 -n
```
#### 三. 提交更改
```
git add .
git commit -m "feat/refactor/docs: your message here"
```
#### 四. 删除旧分支 tset
##### 删除本地分支:
```
`git branch -D test`
```
##### 删除远程分支(如果存在):
```
`git push origin --delete test`
```
#### 五. 基于当前分支创建新的 test
```
`git checkout -b test`
```
此时你就有了一个新的、干净的 `test` 分支,它的历史是你刚刚 cherry-pick 和修改后的内容。
#### 六. 推送新分支到远程
```
`git push origin test`
```
如果你想让它成为远程默认跟踪分支:
```
`git push -u origin test`
```