错误分支新建文件后如何 git stash

本文介绍了在Git中如何管理代码修改,当在错误分支进行修改时,如何使用git stash将更改暂存,然后切换到目标分支并恢复这些修改。详细步骤包括:stash未提交的变更,切换分支,再pop出stash,最后提交更新。若存在新增文件,需先add到暂存区再stash。这个过程确保了分支间的代码整洁和管理效率。

我们知道,如果有一天我们在错误分支上修改了代码。
这时候,我们想切换到正确分支,我们需要把修改的代码stash到缓冲区,切换完分支后,pop出来,然后在提交。

git stash
git checkout targetbranch 
git stash pop
git add .
git commit -m xxx

但是如果我们在错误分支有新增的文件,会出现直接stash会出现错误
我们可以把新增的文件add到暂存区,然后在stash

git add 新增文件
git stash
git checkout targetbranch 
git stash pop

新增文件这时是暂存状态,不过无所谓

git stash本身并不直接用于分支合并,但可以在分支合并过程中辅助处理未提交的修改。 ### 步骤及相关命令 1. **保存当前工作进度**:如果当前分支有未提交的修改,且不想在合并时影响这些修改,可以使用`git stash`命令将工作区和暂存区中未提交的内容保存至堆栈中。因为git stash作用的范围包括工作区和暂存区中的内容,没有提交的内容都会保存至堆栈中[^1]。 ```bash git stash ``` 2. **切换到目标分支**:使用`git checkout`命令切换到要合并的目标分支。 ```bash git checkout target-branch ``` 3. **拉取最新代码**:为确保目标分支是最新的,可以执行`git pull`拉取远程最新代码。 ```bash git pull origin target-branch ``` 4. **切换回原分支**: ```bash git checkout original-branch ``` 5. **合并目标分支到原分支**:使用`git merge`命令将目标分支合并到当前分支。 ```bash git merge target-branch ``` 6. **解决冲突**:如果合并过程中出现冲突,需要手动解决冲突。解决完成后,使用`git add`和`git commit`来标记冲突已解决。 ```bash git add . git commit -m "Merge branch 'target-branch'" ``` 7. **恢复之前保存的工作进度**:如果之前使用了`git stash`保存进度,可以使用`git stash pop`或`git stash apply`恢复。`git stash pop`会在恢复后删除堆栈中的记录,而`git stash apply`会保留记录。 ```bash git stash pop ``` ### 基于存储的修改创建新分支继续开发 如果希望基于某个存储的修改创建一个新的分支来继续开发,可以使用`git stash branch`命令。它会创建一个新的分支,并在该分支上恢复指定的存储内容。 ```bash git stash branch <new-branch-name> [stash@{n}] ``` 例如: ```bash git stash branch new-branch stash@{0} ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值