shell的if多条件

1 、git的版本HEAD解释

bash 复制代码
#如下都是一样的获取最近一次提交的hash值
git log -1 | grep commit
git rev-parse HEAD
git rev-parse HEAD^
git rev-parse HEAD^1
git rev-parse HEAD~
git rev-parse HEAD~1




#如下都是一样的获取最近n次提交的hash值
git rev-parse HEAD~n
git rev-parse HEAD^n
git log -n | grep commit

2、shell的if多条件

bash 复制代码
		# if [[ -f "${target_dir}/${git_dir}/tmp/hash.txt" && -f "${target_dir}/${git_dir}/tmp/mod.txt" ]] && [[ $(cat "${target_dir}/${git_dir}/tmp/hash.txt") == $(git rev-parse HEAD^) ]]; then
		if [[ -f "${target_dir}/${git_dir}/tmp/hash.txt" && -f "${target_dir}/${git_dir}/tmp/mod.txt" ]] && [[ $(cat "${target_dir}/${git_dir}/tmp/hash.txt") == $(git rev-parse HEAD) ]]; then
			echo "Okay"
		else
			echo "Fail"
		fi  

3、git文件权限检查开关

bash 复制代码
git config core.filemode false  #是去掉权限检查的情况  git status ./的时候
git config  --local  core.filemode false
git config  --local  unset core.filemode
相关推荐
kuroomi14 小时前
Git入门
git·kubernetes
daliucheng14 小时前
lazygit 上手:日常 git 操作一篇讲完
git
西风测评16 小时前
安全的自动更新怎么做:minisign 签名、先验签后解析与防回滚
rust·ssh
codigger16 小时前
大厂git提交规范
git·程序员
挖掘狂人16 小时前
六条分支,一条主干:我的 Git 分支管理心得
git·后端·程序员
Brookty17 小时前
Git与GitHub系统学习|本地Git工作模型:终端与进程、CWD、HEAD/Index/工作树及Git对象
git·github
2301_767113981 天前
点过“不再询问”就要检查:Claude Code权限文件也可能存着密钥
git·信息安全·claude code
程序员初一1 天前
Linux 远程桌面有四种做法
linux·ssh
程序开发阿元1 天前
1C1G 能跑什么:把留常驻服务和不留摆进一张内存表
linux·ssh
江屿风2 天前
【Git-组件】【Git入门:从文档灾难到版本掌控】流食般投喂
运维·笔记·git·组件·版本控制