git 特殊情况处理

本文介绍了如何使用Git进行版本控制,包括从特定commit创建新分支,将commit转移至另一分支,修改commit注释,以及回退和重置本地或远程仓库的提交。还讨论了gitrevert和gitreset的区别,前者创建新提交来撤销改变,后者直接回退到指定提交状态。
摘要由CSDN通过智能技术生成
  • 从某次commit处切出新分支

git log (为了获取commitId)
git checkout <commit_id> -b

  • 将某次commit从一个分支(A)转移到另一个分支(B)

切到A分支 git log 获取到commitId
切回B分支:git checkout B
执行:git cherry-pick <commit_id>

  • 修改 commit 注释内容

git commit --amend (此时会进入默认vim编辑器,修改注释完毕后保存就好了)

git 回退

  • 暂存区(git add 之后还未 git commit)

git reset HEAD .
或者
git reset HEAD <指定文件>

  • 本地分支(commit 后还未 push)

git reset --hard <commit_id> (回到其中你想要的某个版)
或者
git reset --hard HEAD^ ( 回到最新的一次提交)
或者
git reset HEAD^ ( 此时代码保留,回到 git add 之前)

  • 推到远程(本地分支修改好后)

git push origin HEAD --force 强制提交一次,之前错误的提交就从远程仓库删除

revert

  • 通过git revert是用一次新的commit来回滚之前的commit

git log (得到你需要回退一次提交的commit id)
git revert <commit_id> ( 撤销指定的版本,撤销也会作为一次提交进行保存)

  • git revert 和 git reset的区别:

git revert是用一次新的commit来回滚之前的commit,此次提交之前的commit都会被保留;
git reset是回到某次提交,提交及之前的commit都会被保留,但是此commit id之后的修改都会被删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值