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,特别是在协作的情况下,以避免不必要的问题。修改提交消息通常用于修复最近的提交,而不是用于更改过去的提交历史。

相关推荐
binishuaio41 分钟前
Java 第11天 (git版本控制器基础用法)
java·开发语言·git
会发光的猪。2 小时前
如何在vscode中安装git详细新手教程
前端·ide·git·vscode
stewie63 小时前
在IDEA中使用Git
java·git
小牛itbull5 小时前
ReactPress:重塑内容管理的未来
react.js·github·reactpress
晓理紫12 小时前
使用git lfs向huggingface提交较大的数据或者权重
git
我不是程序猿儿13 小时前
【GIT】sourceTree的“当前分支“,“合并分支“与“检出分支的区别
git
鱼满满记13 小时前
1.6K+ Star!GenAIScript:一个可自动化的GenAI脚本环境
人工智能·ai·github
梦魇梦狸º16 小时前
腾讯轻量云服务器docker拉取不到镜像的问题:拉取超时
docker·容器·github
_OLi_20 小时前
IDEA中新建与切换Git分支
java·spring boot·git
Huazie21 小时前
一篇搞定 Hexo Diversity 主题接入!支持多主题自由切换!
javascript·github·hexo