Git项目管理——提交项目和版本回退(二)

简介: Git项目管理——提交项目和版本回退(二)

一、GIT提交

先建立一个index.html文件

以下是文件内容:

1.1 常看当前工作目录的状态:

git status

 git status 是一个 Git 命令,它用于显示 Git 仓库中当前工作目录的状态。该命令会展示以下信息:

  1. 当前分支:显示你目前所在的分支。
  2. 变更追踪:显示已修改(modified)、已添加到暂存区(staged)、未跟踪(untracked)的文件。
  3. 文件状态:
  • 已修改但未暂存(红色提示):文件已经修改,但尚未执行 git add 添加到暂存区。
  • 已暂存待提交(绿色提示):文件已经使用 git add 添加到暂存区,等待下一次提交。
  • 未跟踪文件:新文件或者是.gitignore中指定的不被Git跟踪的文件。
  1. 提示信息:可能会给出关于如何撤销改变或如何将改变添加到暂存区的提示。

1.2 往暂存区中添加

git add index.html     //文件名称

       当你执行 git add index.html 命令时,你是在告诉 Git 将 index.html 文件的更改添加到暂存区(staging area)。这意味着 index.html 文件中所有已经修改的内容将被标记为准备在下一个提交(commit)中包含。

  1. 修改文件:首先,你需要对 index.html 文件进行修改。
  2. 添加到暂存区:执行 git add index.html 命令,将修改后的 index.html 文件添加到暂存区。
  3. 检查状态:使用 git status 命令来查看哪些文件已经被暂存,哪些还没有。执行 git status 后,你会看到 index.html 文件的状态变为 "staged" 或 "to be committed"。

当文件存在多个的时候:

git add .

  git add . 是一个 Git 命令,用于将当前目录下的所有新文件、修改过的文件和删除的文件添加到暂存区。这不包括那些被忽略的文件(例如,那些在 .gitignore 文件中指定的文件)。

       使用这个命令之后,所有的本地更改(新建、修改、删除的文件)将会被包含进暂存区,准备进行下一步的提交。这是快速准备大量更改进行提交的一个便捷方式,但是要谨慎使用,以确保不会意外添加不希望提交的更改。

       在执行 git add . 之后,可以使用 git status 来查看哪些更改已经被暂存,并且可以继续使用 git commit 命令来提交这些更改到仓库的历史记录中。

1.3 添加到本地仓库

把暂存区文件添加到本地仓库

git commit -m "提交说明"

 git commit -m "提交说明" 是一个 Git 命令,用于创建一个新的提交,将所有已暂存的更改记录到仓库历史中。这个命令中 -m 选项后面跟随的 "提交说明" 是提交消息,用于描述这次提交的目的或包含的更改内容。

        提交消息应该是清晰、简洁的,能够快速告诉其他参与项目的人这次提交做了什么。好的提交消息可以极大地提高项目的可维护性和协作效率。

        执行这个命令后,所有之前使用 git add 命令添加到暂存区的更改都会被包含在这次提交中。如果你之前没有执行过 git add 来暂存任何更改,那么 git commit -m "提交说明" 命令将不会提交任何东西,因为没有更改被暂存。

这里是执行 git commit -m "提交说明" 命令的一些步骤:

  1. 编辑和保存文件:对项目进行必要的修改,编辑相应的文件。
  2. 暂存更改:使用 git add <file> 或 git add . 等命令将更改添加到暂存区。
  3. 提交更改:执行 git commit -m "提交说明" 来创建一个新的提交。将暂存区的内容和你提供的提交消息一起记录到仓库的历史中。
  4. 查看日志(可选):使用 git log 命令可以查看提交历史,确认你的提交已经被正确记录。

       如果在提交之后意识到提交消息有误或遗漏了一些更改,可以使用 git commit --amend 命令来修改最后一次提交,但请谨慎使用,因为这会改变仓库的历史。

当我们资源更新之后

当我们文件发生变化后,再次查询会发现有出现了新的缓存:

当我们每次整好一个版本项目,感觉已经是一个能够保存的节点了,我们就可以将暂存区的信息往本地仓库提交一下

1.4 查看提交日志

        git log是Git版本控制系统中一个非常有用的命令,它允许用户查看一个或多个分支的提交历史。这个命令展示了关于每次提交的详细信息,包括提交哈希值、作者、提交日期和提交信息等。这对于理解项目的发展历程、审查代码的变更以及追踪特定更改的来源等方面非常有帮助。

基本使用

       要查看当前分支的提交历史,简单地在Git仓库的根目录下运行:

git log

常用选项

       查看每次提交的差异(显示每次提交中哪些行被添加或删除):

git log -p

       查看最近的N次提交:

git log -n <N>

其中`<N>`代表你想要查看的提交数目。

        按特定格式显示日志:

git log --pretty=format:"%h - %an, %ar : %s"

这将会以一种简洁的格式显示提交,包括提交的哈希值、作者名字、提交日期和提交信息。

       显示特定文件或目录的日志:

git log -- <file/directory path>

只显示指定文件或目录的提交历史。

       图形化地显示提交树:

git log --graph

 这个选项以图形方式显示分支、合并历史。

高级搜索

       在特定日期之后的提交:

git log --after="YYYY-MM-DD"

       指定作者的提交:

git log --author="<author>"

       搜索提交信息中包含特定关键字的提交:

git log --grep="<keyword>"

结合使用选项

       你可以组合使用多个选项来定制你的日志输出,以满足具体需求。例如,如果你想看到过去两周内所有提交的统计信息(如每次提交的更改行数),你可以使用:

git log --since=2.weeks --stat

`git log`是一个强大的命令,提供了多种选项和过滤器来帮助你以不同的方式查看提交历史。掌握这个命令可以有效地帮助你管理和审查代码的历史变更。

查看所有的版本以及回退的记录

git reflog

       git reflog 是 Git 中一个非常有用的命令,它记录了你的本地仓库中 HEAD 指针的移动历史。无论是因为提交(commit)、合并(merge)、重置(reset)还是其他原因,只要 HEAD 改变了位置,这些变动都会被记录在 reflog 中。这个命令对于恢复丢失的工作、找回因为误操作而消失的提交以及一般的仓库问题诊断来说都非常有帮助。

二、版本回退

从本地仓库恢复回退到指定的版本

git reset --hard commit  //这里的commit是版本id号

  git reset --hard <commit>命令是Git中用于重置当前分支的HEAD到指定提交的一种方式,同时会清除工作目录中的所有变更。这意味着所有自那次提交以来的更改将会被丢弃,并且工作目录将会恢复到那次提交的状态。

执行这个命令后将会发生以下几点:

  • 当前分支的HEAD(也就是当前分支的最新提交)将会被更新为指定的提交。
  • 暂存区将会被更新,以匹配那次提交的快照。
  • 工作目录中的所有文件将会被更新,以匹配那次提交的快照。
  • 所有自那次提交之后进行的更改将会被丢弃。

这里就回退到了第一次提交的版本

警告

        使用git reset --hard要非常小心,因为这个命令会丢弃所有未提交的更改。如果你有任何未保存或未提交的工作,它们将会被永久删除。在执行此命令之前,确保你不需要那些更改,或者已经将它们保存在其他地方。

撤销git reset --hard

        如果你意识到执行了一个不希望的git reset --hard操作,有可能通过查找reflog来恢复丢弃的更改。Git的reflog记录了你本地仓库HEAD和分支指针的变化,可以帮助你找到丢失的提交。使用git reflog命令查看历史操作,然后可以使用git reset --hard <commit>命令恢复到你希望的状态,其中<commit>是你从reflog中找到的想要恢复到的提交ID。

         记住,git reset --hard是一个强大但危险的命令,只有在你确定要放弃所有更改时才使用它。

要想回退回去

📝大佬觉得本文有所裨益,不妨轻点一下👍给予鼓励吧!

 

❤️❤️❤️本人虽努力,但能力尚浅,若有不足之处,恳请各位大佬不吝赐教,您的批评指正将是我进步的动力!😊😊😊

 

💖💖💖若您认为此篇文章对您有所帮助,烦请点赞👍并收藏🌟,您的支持是我前行的最大动力!

 

🚀🚀🚀任务在默默中完成,价值在悄然间提升。让我们携手共进,一起加油,迎接更美好的未来!🌈🌈🌈

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
18天前
|
持续交付 项目管理 开发工具
Git项目管理——远程仓库(四)
Git项目管理——远程仓库(四)
24 2
|
18天前
|
项目管理 开发工具 git
Git项目管理——分支(三)
Git项目管理——分支(三)
19 2
|
18天前
|
Linux 项目管理 开发工具
Git项目管理——仓库概述(一)
Git项目管理——仓库概述(一)
22 1
|
13天前
|
开发工具 数据中心 git
详解IDEA git 版本回滚
详解IDEA git 版本回滚
18 0
|
3天前
|
开发工具 git
技巧分享:Git怎么修改已经提交版本的版本注释
技巧分享:Git怎么修改已经提交版本的版本注释
9 4
|
12天前
|
开发工具 git
git项目迁移
git项目迁移
14 2
|
18天前
|
存储 安全 项目管理
Git项目管理——Git常用命令汇总(五)
Git项目管理——Git常用命令汇总(五)
20 1
|
20天前
|
开发工具 git
MAC如何使用Git命令行上传本地项目及理解,failed to push some refs to ‘https://gitee.com/brother-barking/spxx.git
MAC如何使用Git命令行上传本地项目及理解,failed to push some refs to ‘https://gitee.com/brother-barking/spxx.git
|
12天前
|
开发工具 git
Git恢复之前版本的两种方法reset、revert(图文详解)
Git恢复之前版本的两种方法reset、revert(图文详解)
11 0
|
13天前
|
敏捷开发 测试技术 持续交付
【git分支管理策略】如何高效的管理好代码版本
【git分支管理策略】如何高效的管理好代码版本
27 0