Git 忘记切换分支,误将代码提交到了别的分支!

本文详细介绍了一种因忘记切换分支而导致错误提交后的解决步骤。包括如何使用`git reset`撤销最近一次提交,利用`git stash`保存工作区状态,以及如何通过创建新分支和`git push`命令来正确完成提交流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

情景说明: 由于同时做几个不同的task , 以及一些其他原因, 在做一个新的task时, 忘记切换分支, 一直等到做完提交了, 才发现push 的时候不是在远端 new 了一个新的branch(由于我修改的task没有文件交集,亦没有用-f ), 于是, 有了下面的内容.

1. 回滚提交 reset

首先我想到的是 reset 命令将我最近一次提交放回暂存区, 并取消此次提交.

git reset HEAD~1

2. 将被跟踪的内容stash, 新建的文件不用担心, 依旧是未跟踪文件.

git stash 

3. 创建并切换到新分支

git checkout -t origin/develop -b issue-999

5. 将stash的内容pop出来

git stash pop

6. 提交和推送了

git add 多个文件名用空字符隔开 

git commit -m "提交信息"

git push origin issue-999 [第一次不必强制提交]

7. 但原来的分支998依旧是多了一次提交, 这时候需要切回去, 提交一次

git checkout issue-998 

git log [看日志, 由于reset的缘故, 本地的提交已经不见了, 但远端依旧存在]

git push origin issue-998 -f 

好了, 998 还是那个998了

### 如何将代码提交到个人Git分支 在使用Git时,将代码提交到个人分支是一个常见的操作。以下是具体的操作方法和注意事项: #### 1. 创建并切换到个人分支 如果尚未创建个人分支,可以使用以下命令创建并切换到该分支: ```bash git branch 分支git checkout 分支名 ``` 或者一步完成创建和切换: ```bash git checkout -b 分支名 ``` 这会基于当前分支创建一个新的分支,并切换到新分支上[^1]。 #### 2. 添加和提交代码 在个人分支上进行代码修改后,需要先将修改的文件添加到暂存区: ```bash git add . ``` 然后提交这些更改到本地仓库,并附带提交信息: ```bash git commit -m "提交信息" ``` 这里的“提交信息”应简要描述本次提交的内容[^3]。 #### 3. 推送代码到远程分支 首次推送代码到远程仓库时,可能需要建立本地分支与远程分支的关联。可以使用以下命令: ```bash git push -u origin 分支名 ``` 其中`-u`参数用于设置上游分支,之后可以直接使用`git push`推送代码[^2]。 #### 4. 更新本地分支 在推送代码之前,建议拉取远程分支的最新代码以避免冲突: ```bash git pull origin 分支名 ``` 如果存在冲突,需解决冲突后再继续提交和推送。 #### 5. 检查当前分支 在操作过程中,可以通过以下命令确认当前所在分支: ```bash git branch ``` 当前分支会有一个星号(*)标记[^4]。 ### 注意事项 - 确保在正确的分支上进行操作,避免误操作导致代码丢失或错误提交。 - 如果远程仓库不存在对应的分支,首次推送时会自动创建该分支[^2]。 - 在多人协作开发中,定期拉取远程分支的最新代码可以减少合并冲突的发生。 ```bash # 示例完整流程 git checkout -b my-feature-branch # 创建并切换到个人分支 git add . # 添加所有修改的文件 git commit -m "实现新功能" # 提交代码并附带说明 git push -u origin my-feature-branch # 推送到远程分支 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值