# 1 背景
在公司开发的时候,我的项目的commit SHA太远古了,导致分支合并不进去主线分支,且我本地的Git仓库太大了,为了不占用公司的仓库空间,需要采取一些策略。
# 2.解决方案
为了解决分支太远古的问题,我们先要rebase到最新的分支中。
## 2.1 首先确认当前分支是自己要进行的rebase分支:
git checkout hongwei/simulation
## 2.2 从远程仓库获取最新的分支信息,我们需要合并到最新的dev分支上面去
git fetch origin dev
## 2.3 把当前自己的分支内容在本地进行提交,因为rebase会发生冲突,我们要确认自己在本地做出的所有修改都已经提交
git add .
git commit -m "some information we updated"
## 2.4 开始rebase到dev分支
git rebase dev 如果在rebase过程中遇到了冲突,Git会暂停rebase并允许你去解决这些冲突。解决冲突后,你需要使用git add
命令来标记冲突已被解决。
## 2.5 解决冲突之后,继续rebase过程
git rebase --continue
如果要取消rebase,使用下列命令 git rebase --abort
OK!现在我们就解决了我们的dev分支和目前正在开发dev分支非常远古的问题
## 2.6 现在我们解决本地库非常大的问题。我们将git缓存区暂退到当前dev的commit暂存区下
git reset --soft COMMIT-SHA git restore --staged .
## 2.7 重新添加文件并提交
git add .
git commit -m "commit information"
## 2.8 强制仓库更新
git push origin hongwei/simulation -f