扣丁学堂Linux培训简述常用的git命令有哪些

ITxuexi_66 · · 2653 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

git命令如今是经常被使用的,本篇文章扣丁学堂Linux培训小编给读者们分享一下常用的git命令有哪些,对git命令感兴趣的小伙伴就随小编来了解一下吧,希望对小伙伴们有帮助。 rm git rm 不同于直接使用 rm,git rm 会删除工作区 和 stage 区的内容。注意:这里你没办法再使用 git checkout -- 来回滚操作了,因为工作区也没有 filename 文件了,没办法与 repository 做关联,只能使用 git reset HEAD 来重置 stage 中的此文件,然后 git checkout -- git rm [--cached] [-r] [-f] <filename> 这里就提示一点,只想把 stage 中的文件删除掉让文件脱离 git 的管理,可以使用 git rm --cached <filename> 此时工作区的 filename 并不会被删除,但状态会被改为 untracked,同时 stage 会记录下 filename 的状态为删除,提交的话版本库将新增一个 filename 被删除掉的版本。 删除 stage 中的文件和使用 reset命令 重置 stage 中的文件是有区别的,删除会让文件状态更改为 untracked,而重置会让文件状态更改为 unstage(如果工作区和 stage 文件内容不一致)。 小实例场景: 1、回滚工作区某文件到指定的 repository 版本 工作中,我们可能会针对某文件做多次修改和 add 到 stage 的操作,而后发现思路完全错了,需要重新设计开发。 比如文件 foo 的 A版 我提交了一次后,又进行了 B版 和 C版 的两次修改并 add 到了 stage 区。第三次修改后 D版 我发现一开始思路就错了,需要重新设计。那此时直接使用 git checkout -- foo 是拿不到最初的 A版 的,因为 stage 区还存放着 foo 的 C版。此时我们便可以使用 git reset HEAD foo 命令,repository 最新版本号中存放着 foo 的 A版,命令会在不移动 HEAD 的前提下,使用 foo A版 去重置 stage 区。命令执行后 stage 区的 foo 文件已经是 A版 了。我们再使用 git checkout -- foo 便可以将工作区的 foo D版 回滚至 A 版。即: git reset HEAD foo & git checkout -- foo HEAD 代表当前版本,所以 HEAD指针 不会移动。同时 stage 区会被 repository 的当前版本的 filename 重置,也就说 stage 区 存放的 filename 与 repository 中相同了。此时我们再使用 git checkout -- 便可以回滚工作区的 filename 到 repository 的当前版本。其实就是利用 reset --mixed 会重置 stage 区,然后 checkout 会将 stage 区的文件检出到工作目录。当然,reset 很灵活,可以回滚任意指定的版本。 其实如果只是回滚至当前版本的话,还有个命令能实现相同的功能 git rm --cached <filename> & git checkout -- <filename> git rm --cached 会将 stage 中的此文件删除,文件状态会变为 untracked,然后 checkout 时发现 stage 中木有此文件,故会去 repository 的当前版本中检出此文件。 diff gitdiff--工作区比较暂存区 gitdiff--cached--暂存区比较本地库当前版本 gitdiffHEAD~N--工作区比较本地库第N个版本 gitdiffHEADHEAD^--HEAD比较HEAD^ gitdiffmastertmp--master比较tmp gitdiffSHA1SHA2--比较两个历史版本之间的差异 想要了解更多关于Linux开发方面内容的小伙伴,请关注扣丁学堂Linux培训官网、微信等平台,扣丁学堂IT职业在线学习教育有专业的Linux讲师为您指导,此外扣丁学堂老师精心推出的Linux视频教程定能让你快速掌握Linux从入门到精通开发实战技能。扣丁学堂Linux技术交流群:422345477。

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2653 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传