1-11 git操作注意事项

发布于:2025-02-19 ⋅ 阅读:(140) ⋅ 点赞:(0)

git基础学习参考:Git HEAD、HEAD^和HEAD~1之间的区别是什么|极客教程


git 操作流程图


以上的图对应git的三大件操作:分别是git add,git commit, git push,记住push之前需要先git pull 同步一下远程的分支。


1-1 情况一


注:改动代码文件后,文件还停留在工作区,没有提交到暂存区,对应的是下图所示的阶段,这和时候,代码想要不要,需要使用该命令进行管理git chaekout -- 文件路径,我修改了当前main文件,添加了一下的文字测试该命令。




git chaekout -- 文件路径【git caeckout -- main.c 】 



使用图形化工具进行操作:


重新再文本中添加内容 




......


1-2 情况二


文件已经被提交到暂存区,如何回到原来的状态先使用git reset HEAD +路径然后再使用git checkout "路径",具体操作如下所示:


git reset HEAD main.c 

 git checkout -- main.c

这个时候看到之前添加的文件没有了 


1-3 情况三


如果已经将文件提交到本地仓库git commit -m "提交描述",如果要返回来原来的状态,那么需要使用git rest hard + 提交log/maxed +提交记录 / soft + 提交记录,下面来讲述一下这三者之间的差别

git rest --hard  +commit     ----> 对应的本地仓库----> 暂存区----> 工作区,三者之间是一致的,一旦回滚到上一个版本,这两个版本之间的代码改动就全部没有了,如果使用git reset --maxted那么代码会被存储在生产基地的,改动的代码还是会存储在工作区中,然后暂存区和本地仓库是没有的,如果使用git rsset --soft 的话会将代码回滚到暂存区这边


接下来实验一下这几个操作:先来第一个操作git reset hard + commit号码(想要回到哪一个版本就是回到哪一个版本提交的号码)

git log  查看体检的commit号码:



可以参考文章:版本回退:git reset --hard命令 - 李小菜丶 - 博客园


将文件一路提交到本地仓库中【git add】,也就是本地码头【git commit】,海外码头【git push】


指令: git reset --hard 59ce3a3


回退版本到提交前的状态: git reset --hard 59ce3a33306015fdd847ea78ce56b0693092dd57

添加的文本不见了

代码的提交记录也不见了!!! 


git reset --maxed:还是修改文件给文件添加部分内容,回滚的内容本地仓库,暂存区是没有的但是在工作区中还是有的。使用git status看是红色的可以验证这个操作




git log --oneline 查看历史版本记录


git reflog 查看历史版本记录



# 1.比对工作区与暂存区中文件的差异   git diff readme.txt

# 2.比对暂存区与本地版本库中文件的差异 git diff --cached readme.txt

目前可以看到暂时没有差异


回退版本:git reset --maxed + commit-id

 git reset --maxed 59ce3a3


git status 查看文件状态,找工作区中是有的,但是在暂存区,本地仓库中是没有的


git reset --soft 会回到暂存区但是本地仓库和工作区是没有的,这里就不做演示了


后面将探索图形化界面的操作方式......


网站公告

今日签到

点亮在社区的每一天
去签到