首先打开我们的程序,首先我们要做的就是初始化,创建我们的git仓库
添加到暂存区后,会发现我们的文件变红了
将本地工程添加到暂存区:
添加之后变成绿色
如果我们对代码进行了修改,可以继续进行提交
如果我们想要回到历史版本:
另外也可以重置操作:
Git重置(Reset)操作概述
Git的reset
命令用于将当前分支的HEAD移动到指定的提交,并根据选择的模式更新工作树(Working Directory)和索引(Staging Area)。重置操作通常用于撤销提交或更改分支的状态。
重置的三种主要模式
-
软重置(Soft Reset):
-
命令:
git reset --soft <commit>
-
作用:将HEAD移动到指定的提交,但不更改工作树和索引。这意味着所有在指定提交之后的更改都会保留在暂存区(Staging Area),等待下一次提交。
-
适用场景:当你想要撤销最近的提交,但保留所有更改以便重新提交时使用。例如,你可能发现最近的提交信息有误,或者想要将多个提交合并为一个。
-
-
混合重置(Mixed Reset):
-
命令:
git reset --mixed <commit>
-
作用:将HEAD移动到指定的提交,并且重置索引(Staging Area),但不更改工作树。这意味着所有更改都会保留在工作目录中,但不会在暂存区。
-
适用场景:这是默认的重置模式。当你想要撤销最近的提交,并且希望重新审查和选择哪些更改应该被提交时使用。
-
-
硬重置(Hard Reset):
-
命令:
git reset --hard <commit>
-
作用:将HEAD移动到指定的提交,并且重置工作树和索引。这意味着所有未提交的更改都会丢失,工作目录和暂存区都会恢复到指定提交的状态。
-
适用场景:当你想要完全丢弃最近的更改,并将工作目录和暂存区恢复到某个历史状态时使用。注意,这个操作是不可逆的,所有未提交的更改都会丢失。
-
-
保留重置(Keep Reset):
-
命令:
git reset --keep <commit>
-
作用:将HEAD移动到指定的提交,但保留工作树中的本地更改。这个模式较少使用,通常用于特定场景。
-
适用场景:当你想要移动HEAD到某个提交,但保留工作目录中的本地更改时使用。这个模式会尝试保留未提交的更改,但如果这些更改与重置操作冲突,可能会导致错误。
-
示例
假设你有一个Git仓库,当前的提交历史如下:
复制
A --- B --- C (master)
-
软重置:如果你执行
git reset --soft B
,HEAD会移动到提交B,但工作目录和暂存区保持不变。提交C的更改会保留在暂存区,等待你重新提交。 -
混合重置:如果你执行
git reset --mixed B
,HEAD会移动到提交B,并且暂存区会被重置,但工作目录中的更改会保留。提交C的更改会保留在工作目录中,但不会在暂存区。 -
硬重置:如果你执行
git reset --hard B
,HEAD会移动到提交B,并且工作目录和暂存区都会恢复到提交B的状态。提交C的所有更改都会丢失。
注意事项
-
硬重置是非常危险的操作,因为它会永久删除未提交的更改。在执行硬重置之前,请确保你真的不需要这些更改。
-
软重置和混合重置是相对安全的操作,因为它们不会删除工作目录中的更改。
这样就完成了代码版本管理的作用
新建分支:
绿色的签表示当前分支的最新版本,黄色签代表目前代码的所在位置
分支合并:
合并的结果如图:
如果我们想把本地的项目部署到gittee等远程仓库上
想把更改上传,
这是原本的版本:
推送完就能看到在Gittee上的更改。
克隆gittee上的项目