git 常用命令

部分内容来自AI

git revert

git revert 是一个命令,它用于撤销指定提交的更改。它会创建一个新的提交,执行与指定提交相反的更改。

使用方法如下:

bash 复制代码
git revert <commit-hash>

这里的 <commit-hash> 是你想要撤销的提交的hash值。可以使用 git log 命令来查找对应的 <commit-hash>

例如,如果你想要撤销最近的提交,你可以使用以下命令(HEAD是指向你当前所在的最后一个提交的指针):

bash 复制代码
git revert HEAD

如果你想要撤销倒数第二个提交,你可以使用:

bash 复制代码
git revert HEAD~1

git revert 命令会打开一个文本编辑器,让你输入新提交的提交信息。如果你不想改变自动生成的提交信息,你只需直接退出编辑器即可。

需要注意的是,git revert 并不会删除指定的提交,而是创建一个新的提交。如果你想要完全删除一个提交,你需要使用 git resetgit rebase

git reset

git reset是一个命令,它用于将当前工作区和staging area(暂存区)重置到一个指定的commit。有三种模式:--soft--mixed--hard

  • git reset --soft <commit>: 此命令会将HEAD指针移动到指定的commit,但不会改变staging area和工作区。换句话说,它保留了工作区和staging area的状态。

  • git reset --mixed <commit>: 这是默认的模式。此模式下,命令会将HEAD指针和staging area移动到指定的commit,但不改变工作区。这样可以重新添加和提交文件。

  • git reset --hard <commit>: 此命令将完全重置您的工作区、staging area和HEAD指针到指定的commit。这将删除所有指定commit之后的更改。这是一个具有破坏性的命令,应谨慎使用。

请替换 <commit> 为要重置到的commit的hash。例如,如果你想要恢复到前两个提交的状态,你可以使用 git reset HEAD~2

如果你想要完全舍弃所有uncommit的更改(包括工作区和staging area的更改),你可以使用 git reset --hard HEAD

git rebase

git rebase 是一种变基操作,它用于将一系列提交应用到另一个基(base)上。其可以用于整理提交历史,使其更加线性,也可以用于将分支上的修改更新到最新的主分支上。

基本的 git rebase 命令如下:

git rebase <base>

这里的 <base> 可以是任何一种提交的引用(比如分支名,标签名,或者是 commit hash)。

使用这个命令,Git 将首先找到当前分支与指定基之间的公共祖先(common ancestor),然后获取当前分支自那个时间点以来所做的修改,并将这些修改在 <base> 指向的提交上重新应用一次。

在可能的情况下,Git 会进行自动的合并,但如果同一部分代码在两个地方都被修改过,就可能发生冲突。这种情况下,就需要手动解决冲突。

另外, git rebase 有一种交互模式(interactive mode),可以通过添加 -i 参数来开启。在交互模式下,你可以改变提交的顺序,改写提交信息,将多个提交合并为一个,等等。

需要注意的是,git rebase 是一个改写历史的操作,你可能需要force push来将变更更新到远程仓库。也因此,在公开的分支上使用 rebase 需要特别小心,因为它可能会打乱其他人的工作。

相关推荐
Naomi5211 小时前
自定义汇编语言(Custom Assembly Language) 和 Unix & Git
服务器·开发语言·git·unix
@BreCaspian3 小时前
Git 从入门到精通(开源协作特别版)
git·开源
谢尔登5 小时前
【已解决】Webstorm 每次使用 git pull/push 都要输入令牌/密码登录
ide·git·webstorm
紫阡星影6 小时前
TortoiseGit多账号切换配置
git·gitee·tortoisegit
予早6 小时前
git kex_exchange_identification 相关问题
git
鸠摩智首席音效师7 小时前
如何完整迁移 Git 仓库 ?
git
诚诚程程成11 小时前
git配置github
git·github
阿杜杜不是阿木木11 小时前
使用ollama部署本地大模型(没有GPU也可以),实现IDEA和VS Code的git commit自动生成
linux·git·vscode·ai·intellij-idea·ollama
HelloDam14 小时前
Git简洁安装方式和使用方式【附安装包资源,Git基础操作,如拉取项目、上传代码、拉取代码】
git·github
咖啡教室1 天前
日常开发中常用的git操作命令和使用技巧
git