git rebase 命令 常用_Git rebase + stash小技巧

每天打开计算机,第一件事情就是将项目程序代码更新的最新,以便整合同事新开发的功能,免的跟自己写的功能冲突,所以最常用用的就是 git pull –rebase origin master,此命令使用 rebase 来取代 merge 程序代码,也可以避免在 log 清单内出现 merge branch master into master 等字样,但是如果在开发一半进度时,想同时将同事的程序代码先 merge 进来,会发现无法 merge,git 会请你先将 local 修改过的档案 commit,才可以让您更新,所以这时候我们可以用 git stash 方式来解决

如果你在 master 分支上,并且想 pull 最新的 commit,可以透过底下指令步骤

$ git stash --include-untracked

$ git pull --rebase origin master

$ git stash pop

# fix conflict (merge)

此方式一样最后需要解决冲突,解决完成,可以将 stash 清空,透过再次执行 git stash pop,或 git stash drop 就可以了,但是这样有点麻烦,可以不要使用 git stash 也达成这效果嘛?底下是更好的方式

$ git add .

$ git commit -m 'push to stash'

$ git pull --rebase origin master

# fix conflict (rebase)

$ git reset HEAD~1

基本上原理很简单,我们先将 local 档案 commit 到 local,接着一样执行 pull –rebase 将远程 commit 拉下来,接着执行 git reset HEAD~1 就是删除最后一个 commit 但是保留最后 commit 修改的内容。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 当执行git rebase命令时,有可能会出现错误。其中一个可能的错误是"cannot pull with rebase: Your index contains uncommitted changes. error: please commit or stash them." 这个错误表示你的索引中有未提交的更改。解决这个问题的方法是先提交或者暂存你的更改,然后再执行git rebase命令。\[1\] 另外,执行git rebase命令时可能会出现冲突,需要手动解决冲突后再执行git add命令,然后继续执行git rebase --continue命令。需要注意的是,不需要执行git commit命令,如果执行了git commit命令再执行git rebase --continue会报错。如果想放弃本次rebase,可以使用git rebase --abort命令,这样该文件将不会与主分支中的同名文件合并,仍然保留在开发分支中的修改。\[2\] 在本地分支开发完commit后,切回主分支master,然后将项目pull下来。因为本地开发分支与远程master的时间线不重叠了,所以切回开发分支后,可以使用git rebase master命令来合并master分支的更改。\[3\] #### 引用[.reference_title] - *1* [git pull --rebase 出错处理](https://blog.csdn.net/weixin_42590506/article/details/83347505)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [git rebase error:Failed to merge in the changes](https://blog.csdn.net/weixin_40208575/article/details/98086394)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值