git常用命令(patch补丁和解决冲突)

diff/apply方案

使用diff命令生成patch文件,后使用apply命令应用patch到分支,从而实现修改复刻。

生成补丁

复制代码
git diff > commit.patch

检查补丁

复制代码
git apply --check commit.patch

应用补丁

复制代码
git apply commit.patchgit diff --cached > commit.patch

生成最近1次commit的patch

复制代码
git format-patch HEAD^

生成最近2次commit的patch

复制代码
git format-patch HEAD^^

生成单个提交的patch

复制代码
git loggit format-patch [commit-id] -1git format-patch 51d4aa97aaffd754eb7412ff87a3c9ba1fa30006 -1

撤销最近一次本地提交

复制代码
git reset HEAD~

git reset --soft "3fed8d862292d7c0415c97a960b1aca39b138ed3"

git reflog //显示可引用的历史版本记录,找到要撤回的commit的前面的git reset --hard commit_id //恢复到这次修改git push origin HEAD --force //将本地分支代码强制推送到远处分支

撤销最近一次提交但保留更改

复制代码
git reset --soft HEAD~1

撤销最近一次提交并丢弃更改

复制代码
git reset --hard HEAD~1

撤销特定的提交

复制代码
git revert <commit-hash>

修改最近一次提交

复制代码
git commit --amend

撤销已经推送到远程仓库的提交(使用git revert或谨慎使用git push --force)

想彻底删除 Git 中的某次提交的内容,可以使用git rebase命令并将该提交删除

也不会在git log中保留,可以撤销中间某次提交,撤销提交

复制代码
git loggit rebase -i commit_id //进入vim编辑模式,把要删除的commit的前面的pick改为drop git push origin HEAD --force //推到远程分支上

回退版本,并强制提交

复制代码
git log​git reset --hard 25843279fa4c619d2513f181117bc5394b10509fgit push origin dev --force​git reset --hard 0e35fdffc3ce33b1979ed3c8f55554933fbbe991git push origin master --force
相关推荐
Star_KeyW9 小时前
【最新】Git简介与完整安装
git
深紫色的三北六号13 小时前
基于 Git 某个分支创建一个全新的仓库(GitHub / GitLab)
git·gitlab·github
-拟墨画扇-14 小时前
Git | 标签操作
git·gitee·github·gitcode
狂龙骄子14 小时前
使用git filter-branch命令修改历史提交
git·filter-branch·迁移仓库历史·所有权转移·修改历史提交
C2X15 小时前
关于Git Graph展示图的理解
前端·git
CryptoRzz15 小时前
StockTV API 对接全攻略(股票、期货、IPO)
java·javascript·git·web3·区块链·github
-拟墨画扇-16 小时前
Git | 远程仓库操作
git·gitee·github
NuageL16 小时前
第一次用Git协作流程记录和踩坑
git
特级业务专家18 小时前
这下发布不需要Jenkins了
linux·git·docker
0和1的舞者19 小时前
Git 实战踩坑:如何让多个 IDE 项目共用一个远程仓库(附子模块问题解决)
git·开发·仓库·码云·子模块·操作·冲突