Git的基本使用方法

一、Git删除commit记录

删除 Git 中的指定提交记录,需使用 git rebase 命令。

注意:在进行这些操作之前,请务必确保理解 Git 中的提交历史和分支的工作方式,并且确保操作不会导致数据丢失。如果在团队协作中使用 Git,请与团队成员协商,以避免破坏共享的历史记录。

  1. 打开终端或命令行窗口,并导航到 Git 存储库的目录。

  2. 确保当前处于要删除提交的分支上。如果不是,请切换到正确的分支,例如:

    bash 复制代码
    git checkout your-branch-name
  3. 执行以下命令以开始交互式 rebase:

    bash 复制代码
    git rebase -i HEAD~N

    其中,N 是要保留的提交数以及要删除的提交之前的提交数。例如,如果要删除最近的两个提交,N 可以设置为 2。

  4. Git 将会打开一个文本编辑器,显示一个提交历史列表,类似于以下内容:

    bash 复制代码
    pick abc123 Some commit message
    pick def456 Another commit message
    pick 789ghi Yet another commit message
  5. 在编辑器中,将要删除的提交的行前面的 pick 更改为 dropd。例如:

    bash 复制代码
    pick abc123 Some commit message
    drop def456 Another commit message
    drop 789ghi Yet another commit message
  6. 保存并关闭编辑器。

  7. Git 将重新计算提交历史,并删除标记为 drop 的提交及其相关更改。

  8. 如果 Git 遇到冲突(conflicts),它会在重播期间停止并等待解决冲突。在解决冲突后,使用 git addgit rebase --continue 继续 rebase 进程。

  9. 完成 rebase 后,已经删除了指定提交记录。可以使用 git log 命令来验证新的提交历史。

  10. 如果要将更改推送到远程仓库,请使用 git push --force 命令,因为已经重写了提交历史。

请谨慎使用 git rebasegit push --force,并确保在进行重要操作之前备份数据。删除提交记录可能会导致团队协作问题,因此请与团队协商并采取适当的措施。

二、Git Bash进行提交

在 Git 中查看当前分支、查看暂存区(也称为索引),以及进行对新文件的提交:

1. 查看当前分支:

使用 git branch 命令可以查看当前分支。分支前面带有星号 * 的表示当前所在的分支。

bash 复制代码
git branch

2. 查看暂存区(索引):

使用 git status 命令可以查看工作目录、暂存区和最近提交之间的状态。它会列出已修改但尚未暂存的文件以及已暂存但尚未提交的文件。

bash 复制代码
git status

3. 对新文件进行提交:

假设有新创建的文件并要将其提交到 Git 仓库,可以按以下步骤操作:

  • 创建新文件: 在工作目录中创建新文件,例如 new_file.txt

  • 将新文件添加到暂存区: 使用 git add 命令将新文件添加到暂存区。

    bash 复制代码
    git add new_file.txt
  • 查看暂存区状态: 使用 git status 命令查看新文件是否已添加到暂存区。

    bash 复制代码
    git status

    此时,应该看到新文件已被添加到暂存区。

  • 提交新文件: 使用 git commit 命令提交新文件。

    bash 复制代码
    git commit -m "Add new_file.txt"

    -m 后面的引号内,可以输入有意义的提交消息,描述对新文件所做的更改。

  • 查看提交历史: 使用 git log 命令可以查看提交历史,包括刚刚提交的新文件。

    bash 复制代码
    git log

    这将显示最近的提交记录,包括作者、日期和提交消息。

注意,每次添加、修改或删除文件后,都需要使用相应的 git addgit commit 命令来记录更改并提交到版本控制系统。

三、更改commit的消息

如果在执行 git commit -m "Add new_file.txt" 后想要修改提交消息,可以使用 --amend 选项来修改最新的提交消息。

  1. 打开终端或命令行窗口,并导航到包含 Git 存储库的目录。

  2. 在命令行中运行以下命令来打开文本编辑器以修改提交消息:

    bash 复制代码
    git commit --amend

    这将打开默认文本编辑器,显示最新的提交消息,可编辑提交消息。

  3. 在编辑器中,修改提交消息为新消息。然后保存并关闭编辑器。

  4. Git 会将新的提交消息应用到最新的提交中。

  5. 如果已经将更改推送到远程仓库,可能要使用 --force 选项来强制推送更改,以更新远程仓库的提交历史。

例如:

bash 复制代码
# 执行 git commit --amend 后打开编辑器,修改提交消息
git commit --amend
# 保存并关闭编辑器

# 如果已经推送到远程仓库,使用 --force 选项进行强制推送
git push --force origin your-branch-name

我们应谨慎使用 git commit --amendgit push --force,特别是在协作的情况下,以避免不必要的问题。修改提交消息通常用于修复最近的提交,而不是用于更改过去的提交历史。

相关推荐
夏至春来-美美4 小时前
git clone报错
git
码流怪侠8 小时前
2026年8月GitHub热榜深度拆解:Agent Skills席卷开源圈,一个“技能包“收割5万星
算法·程序员·github
m4Rk_8 小时前
【论文阅读】Agent 记忆机制(47):Nemori——用“预测误差”判断什么经验值得被记住
论文阅读·人工智能·学习·开源·github
其实防守也摸鱼8 小时前
接口审计:从原理到实践的万字深度指南
数据库·安全·自动化·github·copilot
TunerT_TQ9 小时前
Microsoft |Playwright CLI 源码静态审阅:从 5 个文件看浏览器自动化工具的工程边界
后端·开源·github
JavaGuide10 小时前
84.5K+ Star!这个开源编程 Agent 控制台,能统一管理 Codex、Claude Code,DeepSeek Harness 也能接入
后端·github
量化小c11 小时前
一行代码查 BTCUSDT 和 AAPL 最新价?QuantDash 统一多市场实时行情接口实战
后端·算法·github
峰向AI11 小时前
Anthropic 工程师每天都在用的小工具:核心代码只有四行,26万次浏览
github
fthux11 小时前
被主流遮住的世界:那些不常见却值得认识的编程语言
人工智能·ai·开源·github