当前位置: 首页 > news >正文

网站购买空间广州建设网站首页

网站购买空间,广州建设网站首页,百度关键词推广工具,wordpress评分杂志目录 一、版本回退 reset 1.1 指令#xff1a; 1.2 参数说明#xff1a; 1.3 演示#xff1a; 二、撤销修改 情况一#xff1a;对于工作区的代码#xff0c;还没有 add 情况二#xff1a;已经 add #xff0c;但没有 commit 情况三#xff1a;已经 add …目录 一、版本回退 reset 1.1 指令 1.2  参数说明 1.3 演示 二、撤销修改 情况一对于工作区的代码还没有 add  情况二已经 add 但没有 commit  情况三已经 add 并且也 commit 了 三、删除文件 一、版本回退 reset 1.1 指令 执行 git reset 命令用于回退版本可以指定退回某⼀次提交的版本。要解释⼀下 回退 本质是要将版本库中的内容进行回退工作区或暂存区是否回退由命令参数决定 git reset 命令语法格式为  git reset [--soft | --mixed | --hard] [HEAD]  1.2  参数说明 --mixed 为默认选项使用时可以不用带该参数。该参数将暂存区的内容退回为指定提交版本内容工作区文件保持不变。--soft 参数对于工作区和暂存区的内容都不变只是将版本库回退到某个指定版本。--hard 参数将暂存区与工作区都退回到指定版本。切记工作区有未提交的代码时不要用这个命 令因为工作区会回滚你没有提交的代码就再也找不回了所以使用该参数前⼀定要慎重。 我们用一个表格来理解 参数工作区暂存区版本库--mixed不变回退回退--soft不变不变回退--hard回退回退回退 HEAD 说明 可直接写成 commit id表示指定退回的版本HEAD表示当前版本HEAD^ 上⼀个版本HEAD^^ 上上⼀个版本以此类推... 可以使用〜数字表示 HEAD~0 表⽰当前版本HEAD~1 上⼀个版本HEAD^2 上上⼀个版本以此类推... 1.3 演示 为了方便演示我们需要做一些准备工作对ReadMe文件做了三次提交具体内容如下 #第一次提交 zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ vim ReadMe zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ cat ReadMe hello git hello git aaaaa bbbbb zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git add . zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git commit -mReadMe version1 [master 771fbc6] ReadMe version11 file changed, 1 insertion()#第二次提交 zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ vim ReadMe zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ cat ReadMe hello git hello git aaaaa bbbbb ccccc zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git add . zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git commit -mReadMe version2 [master e9c0a2d] ReadMe version21 file changed, 1 insertion()#第三次提交 zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ vim ReadMe zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ cat ReadMe hello git hello git aaaaa bbbbb ccccc ddddd zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git add . zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git commit -mReadMe version3 [master 691a70b] ReadMe version31 file changed, 1 insertion()#查看Git信息 zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git log --prettyoneline 691a70bc80bc67c3da14a4f547866559bb78a932 (HEAD - master) ReadMe version3 e9c0a2d43dbb427bf185fe268e48ddfb3a4f4c4e ReadMe version2 771fbc626fcfea13032326165d60a30d1686a122 ReadMe version1 bec8f39d1c9add6fa68b24cbe58da893297c7df0 modify ReadMe 33d37b6d9be1ff2ab7ef5442615ba08afc048073 add ReadMe如果我们提交完version3然后觉得version3的代码写的太烂了想要基于version2重新编写此时我们就需要回退到version2由于我们想让工作区的代码也跟着回退所以我们需要使用--hard参数 zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git reset --hard HEAD^ HEAD is now at e9c0a2d ReadMe version2 zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ cat ReadMe hello git hello git aaaaa bbbbb ccccc可以发现工作区的代码已经回退到version2了我们再次使用git log 指令发现HEAD指向了version2了 zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git log --prettyoneline e9c0a2d43dbb427bf185fe268e48ddfb3a4f4c4e (HEAD - master) ReadMe version2 771fbc626fcfea13032326165d60a30d1686a122 ReadMe version1 bec8f39d1c9add6fa68b24cbe58da893297c7df0 modify ReadMe 33d37b6d9be1ff2ab7ef5442615ba08afc048073 add ReadMe到这里回退功能就展示完了但是如果因为一些原因又需要回退到version3怎么办但是此时我们用 git log 查不到 version3 的 commit id那应该怎么回退呢 如果你的运气好一点在之前使用git log查看时保留了version3的commit id那你就可以直接恢复到version3但是如果找不到的话其实GIt还提供了一个指令 git reflog 该指令用于查看本地每一个指令的记录 zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git reflog e9c0a2d (HEAD - master) HEAD{0}: reset: moving to HEAD^ 691a70b HEAD{1}: reset: moving to 691a70bc80bc67c3da14a4f547866559bb78a932 691a70b HEAD{4}: commit: ReadMe version3 e9c0a2d (HEAD - master) HEAD{5}: commit: ReadMe version2 771fbc6 HEAD{6}: commit: ReadMe version1 bec8f39 HEAD{7}: commit: modify ReadMe 33d37b6 HEAD{8}: commit (initial): add ReadMe这样我们就可以找到version3的 commit id虽然这里查看的只是version的部分commit id但是我们仍然那可以使用这部分id来恢复到version3 zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git reset --hard 691a70b HEAD is now at 691a70b ReadMe version3 zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git log --prettyoneline 691a70bc80bc67c3da14a4f547866559bb78a932 (HEAD - master) ReadMe version3 e9c0a2d43dbb427bf185fe268e48ddfb3a4f4c4e ReadMe version2 771fbc626fcfea13032326165d60a30d1686a122 ReadMe version1 bec8f39d1c9add6fa68b24cbe58da893297c7df0 modify ReadMe 33d37b6d9be1ff2ab7ef5442615ba08afc048073 add ReadMe可往往是理想很丰满现实很骨感。在实际开发中由于长时间的开发了导致 commit id 早就找 不到了可突然某⼀天我又想回退到 version3那该如何操作呢貌似现在不可能了 值得说的是Git 的版本回退速度非常快因为 Git 在内部有个指向当前分支此处是master的  HEAD 指针 refs/heads/master 文件里保存当前 master 分支的最新 commit id 。当我们在回退版本的时候Git 仅仅是给 refs/heads/master 中存储⼀个特定的version可以简单理解成如下示意图 二、撤销修改 如果我们在我们的⼯作区写了很长时间代码越写越写不下去觉得自己写的实在是垃圾想恢复到上⼀个版本。 情况一对于工作区的代码还没有 add  方法1 首先最简单的方法就是直接删掉多余的代码但是这个方法很不实用如果你写了几行代码还好说如果写了几百行几千行在手动删除时是很麻烦的甚至可能修改出bug 方法2 Git 其实还为我们提供了更好的方式我们可以使用 git checkout -- [file] 命令让工作区的文件回到最近⼀次 add 或 commit 时的状态。 要注意 git checkout -- [file] 命令中的  -- 很重要切记不要省略⼀旦省略该命令就变为其他意思了后面我们再说。示例如下 #到ReadMe文件添加一行代码hello并没有add 和 commit zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ vim ReadMe zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ cat ReadMe hello git hello git aaaaa bbbbb ccccc ddddd hello zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git checkout -- ReadMe zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ cat ReadMe hello git hello git aaaaa bbbbb ccccc ddddd情况二已经 add 但没有 commit  add 后数据还是保存到了暂存区呢怎么撤销呢 首先使用 git reset --mixed 指令 该命令可以将暂存区 的内容退回为指定的版本内容但工作区文件保持不变。那我们就可以回退下暂存区的内容了 #向ReadMe文件添加一行 zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ vim ReadMe zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ cat ReadMe hello git hello git aaaaa bbbbb ccccc ddddd hello#并且add到暂存区 zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git add .#回退 zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git reset HEAD ReadMe Unstaged changes after reset: M ReadMe#查看当前状态 zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git status On branch master Changes not staged for commit:(use git add file... to update what will be committed)(use git restore file... to discard changes in working directory)modified: ReadMeno changes added to commit (use git add and/or git commit -a)执行完 git reset  --mixed 指令后使用git status指令查看当前的状态发现此时暂存区中是干净的只是工作区中存在未add的代码所以此时的问题就转变为了情况一 #将工作区代码恢复到上一个版本 zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git checkout -- ReadMe zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ cat ReadMe hello git hello git aaaaa bbbbb ccccc ddddd 情况三已经 add 并且也 commit 了 不要担心我们可以 git reset --hard HEAD^ 回退到上⼀个版本不过这是有条件的就是 你还没有把自己的本地版本库推送到远程。我们后面会讲到远程 版本库一旦你推送到远程版本库你就真的惨了…… #添加一行代码 zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ vim ReadMe zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ cat ReadMe hello git hello git aaaaa bbbbb ccccc ddddd hello#add并且commit zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git add . zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git commit -mtest [master d8b9ba8] test1 file changed, 1 insertion()#回退 zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git reset --hard HEAD^ HEAD is now at 691a70b ReadMe version3 zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ cat ReadMe hello git hello git aaaaa bbbbb ccccc ddddd三、删除文件 在 Git 中删除也是⼀个修改操作我们实战⼀下,如果要删除 file 文件怎么搞呢如果你这样 做了: zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ touch file zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git add . zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git commit -m测试删除 [master 4d9912b] 测试删除1 file changed, 0 insertions(), 0 deletions(-)create mode 100644 filezyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ rm file zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git status On branch master Changes not staged for commit:(use git add/rm file... to update what will be committed)(use git restore file... to discard changes in working directory)deleted: fileno changes added to commit (use git add and/or git commit -a)这样删除是有用的仅仅删除了工作区的文件如果我们用git status查看会提示我们哪些文件被删掉了此时工作区和版本库的文件就不一样了。 如果确实想删除版本库中的文件这时就需要使用 git rm 将文件从暂存区和工作区中删除并且 commit zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git rm file rm file zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git commit -mdelete file [master fb025b3] delete file1 file changed, 0 insertions(), 0 deletions(-)delete mode 100644 file zyqiZm5egpp4a85g2tfliaeikZ:~/gitcode$ git status On branch master nothing to commit, working tree clean这样一个文件就删除了
http://www.dnsts.com.cn/news/184381.html

相关文章:

  • 做这个网站多少钱网页版传奇世界羽翼升级
  • 成都网站制作软件网站建设设计制作熊掌号
  • 岳阳市规划局建设工程公示网站重庆有几个区几个县
  • 6618自助建站系统源码去除 做网站就用建站之星
  • 做网站的岗位线上商城简介
  • 徐州网站建设公司百家号黄页网推广服务
  • 三亚网站定制开发公司网站添加地图导航
  • 网站正在建设中的图片大全如何制作简易 网站
  • 阿里云的wordpress站点地址写错四川建设网站项目招标
  • 网站形式的具体例子深圳最近流感多吗
  • 百度云怎么做网站苏州营销型网站建设方案
  • net服装网站建设个人网页制作模板下载
  • 如何查看 网站诊断seo网站诊断书
  • 网站建设包含哪些网站过程
  • 免费的企业网站源码子域名在线查询
  • 佛山cms建站wordpress wiki 模版
  • 成都网站运营公司秦皇岛市有几个区几个县
  • linux国外网站吗网站开发及app开发报价单
  • 推广网站的图片怎么做wordpress上传到主机
  • 三沙网站设计公司毕业室内设计代做网站
  • 电商网站优化方案代驾平台
  • 烟台百度网站建设企业门户样式
  • 中国移动idc建设网站郑州网站建设hndream
  • 龙岗网站建设要多少钱做网站后台开发工资
  • 曰本做爰l网站关于重新建设网站的申请
  • 绵阳网站建设培训wordpress 正在跳转中 请稍等
  • 如何搜索asp网站网上建立网站
  • wordpress京豆插件深圳设计优化公司
  • 如何查看网站是否开启gzip破天网站定制
  • 学习建设网站做网站题材