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
相关推荐
zh_xuan2 小时前
Visual Studio 上传工程到github
ide·git·github·visual studio
AntoineGriezmann3 小时前
Git 学习笔记
git
无限进步_4 小时前
【C++】只出现一次的数字 II:位运算的三种解法深度解析
数据结构·c++·ide·windows·git·算法·leetcode
vortex54 小时前
构建可审计、可分层、可扩展的SSH身份管理体系
网络·ssh·php
无限进步_5 小时前
【C++】多重继承中的虚表布局分析:D类对象为何有两个虚表?
开发语言·c++·ide·windows·git·算法·visual studio
回家路上绕了弯7 小时前
Git worktree 终极指南:告别分支切换烦恼,实现多分支并行开发
git·后端
日更嵌入式的打工仔8 小时前
Git & TortoiseGit
git
会的越多不会的也就越多8 小时前
Win11 右键菜单优化指南:如何把 Git 功能“提”到一级菜单?
git
rebekk10 小时前
claude工作区与git仓库的关系
linux·git·python