文章目录
问题
流水线跑了几遍,修改的地方没变。。。
查看流水线日志也没发现明显问题。。。
登入服务器一看。。文件没变。。
重新手动pull,还是没变。。。
git status 查看工作目录和暂存区的状态
果然暂存区有东西。。。
解决
- 放弃所有的缓存
git reset HEAD .
- 放弃掉所有还没有加入到缓存区(git add)的修改
git checkout .
搞定!
over
拓展学习
主要内容完毕,下面记录一下这两个命令的详细功能:
1.git checkout
概述
在git中,checkout 在计算机英文翻译中是“检出”的意思,该命令用于切换分支或者恢复工作树文件,是 git 中仅次于 clone、add、pull、push 最常用的命令之一,同时也是一个很危险的命令,因为这条命令会重写工作区。
语法
git checkout [-q] [-f] [-m] [<branch>]
git checkout [-q] [-f] [-m] --detach [<branch>]
git checkout [-q] [-f] [-m] [--detach] <commit>
git checkout [-q] [-f] [-m] [[-b|-B|--orphan] <new_branch>] [<start_point>]
git checkout [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <paths>…
git checkout [-p|--patch] [<tree-ish>] [--] [<paths>…]
。。。参数,用法太多,看不懂。。别急掌握以下几个应用场景工作中就够用啦!
案例
- 切换分支
git checkout branchName
- 创建并切换至新分支(默认以HEAD版本即当前分支为基准)
git checkout -b newBranch
- 相当于:
git branch newBranch
+git checkout newBranch
- 也可以指定需要复制的分支
git checkout -b newBranch origin/newBranch
- 标准语法格式:
git checkout -b|-B <new_branch> [<start point>]
2.git reset
概述
git reset命令用于将当前HEAD复位到指定状态。一般用于撤消之前的一些操作(如:git add,git commit等)。可以理解为玩游戏中的进度切换
语法
git reset [-q] [<tree-ish>] [--] <paths>…
git reset (--patch | -p) [<tree-ish>] [--] [<paths>…]
git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]
案例
- 回退所有内容到上一个版本
git reset HEAD^
- 回退 index.js 文件的版本到上一个版本
git reset HEAD^ index.js
- 回退到指定版本
$ git reset 052e
--soft
参数用于回退到某个版本--hard
参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交:
- HEAD 表示当前版本
- HEAD^ 上一个版本
- HEAD^^ 上上一个版本
- HEAD^^^ 上上上一个版本
- 以此类推…
- HEAD~0 表示当前版本
- HEAD~1 上一个版本
- HEAD^2 上上一个版本
- HEAD^3 上上上一个版本
- 以此类推…
版权归原作者 程序边界 所有, 如有侵权,请联系我们删除。