win快速截图 win+shift+s
因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)
git使用
好了,现在查看一下仓库现在的状况
git status 查询仓库是否被修改了
git diff 查询仓库被修改的内容
我们设定一个文件,它修改了三次(每一次修改都commit),
我们可以看到有三个版本
注意:HEAD指向的是当前的版本
'git reset --hard HEAD1(回退一个版本一个,如果数字太大了,HEAD-num) 回到过去
git的文件经过每一次修改和提交过后都会有一个ID, 我们只需要查找你要的那个版本的id即可
git reflog 记录了你的每一次命令,用它来查一下ID回到未来吧
使用命令 git reset --hard commit_ID
注意:ID只要前几位就可以啦
工作区是我们创建的文件
而版本库里面有stage暂存区和master分支,
git add文件就是被送到暂存区
git commit 文件就被送到了master分支,并且HEAD版本指针指向了master
注意:每commit一次,HEAD指针就指向那一个文件
修改是啥:你添加或删除了一行,改了字符或创建文件
咋管: 所有的修改必须add到stage,然后 git commit一次性提交,不add就不算啦。
我们做一个错误的提交
第一次git add test.txt
git commit test.txt
我们第二次,修改了一下文件。git commit text.txt
不放暂存区了,就是那么任性。
结果git commit 只提交了在暂存区的 第一次的文件
注意:可以通过git diff HEAD – file 查看工作区和版本库里面最新版本的区别
小结:第一次修改 -> -> 第二次修改 -> -> git commit
这里有三种情况
小结
又到了小结时间。
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,git reset – commit_ID,不过前提是没有推送到远程库。
3.删除修改
我们假定现在有test.txt文件在工作区,并且已经添加到暂存区
场景1:我们打算删除,要把暂存区的也删除
场景2:我们已经添加到暂存区,但是误删了工作区的文件
注意:
git checkout 其实是用版本库的版本替换工作区的版本,无论修改还是删除都可以还原。
如果文件从来没有被添加到版本库就被删除,是无法恢复的。
小结:git clone 网址也可以克隆,但是https协议可比ssh协议慢多了
查看分支:
创建分支:
切换分支:或者
创建+切换分支:或者
合并某分支到当前分支:
删除分支:
现在我们来实践一下
首先,我们创建分支,然后切换到分支:
命令加上参数表示创建并切换,相当于以下两条命令:
然后,用命令查看当前分支:
命令会列出所有分支,当前分支前面会标一个号。
然后,我们就可以在分支上正常提交,比如对做个修改,加上一行:
然后提交:
现在,分支的工作完成,我们就可以切换回分支:
切换回分支后,再查看一个文件,刚才添加的内容不见了!因为那个提交是在分支上,而分支此刻的提交点并没有变:
现在,我们把分支的工作成果合并到分支上:
命令用于合并指定分支到当前分支。合并后,再查看的内容,就可以看到,和分支的最新提交是完全一样的。
注意到上面的信息,Git告诉我们,这次合并是“快进模式”,也就是直接把指向的当前提交,所以合并速度非常快。
当然,也不是每次合并都能,我们后面会讲其他方式的合并。
合并完成后,就可以放心地删除分支了:
删除后,查看,就只剩下分支了:
因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在分支上工作效果是一样的,但过程更安全。
总结:
1.HEAD是指向当前分支,master主分支是指向提交的。
2.我们可以从次分支切换到master主分支,
到此这篇git怎么用的(git咋用)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/38885.html