git指令和linux指令的区别,shell 命令中检测本地git是否变化的两种方式

本文介绍了如何使用 `git diff` 和 `git status` 命令检测本地代码变化。推荐使用 `git status`,因为它不仅能检测文件变化,还能在新增文件后提示 'nothing added to commit',而 `git diff` 仅能检测已存在文件的变化。通过示例代码展示了如何结合这两个命令来判断是否需要提交。
摘要由CSDN通过智能技术生成

一、git diff

diffInfo=`git diff`

if [ "$diffInfo" = "" ]; then

echo '本地没有变化无需提交'

exit

fi

二、git status

On branch feature/20191218-songyongzhan-test

Your branch is up to date with 'origin/feature/20191218-songyongzhan-test'.

Untracked files:

(use "git add ..." to include in what will be committed)

src/Map/RedisKey/Keys/vvv.php

nothing added to commit but untracked files present (use "git add" to track)

这两种方式都能检测到本地是否发生变化,

这里推荐使用第二种方式   git status

区别:

git status 在新增文件后,可以检测到  nothing added to commit  我们可以得到这样的信息

git diff 不会得到任何的信息,git diff 只能检测出已经存在的文件发生变化,才能检测出。

lastMessage=`git status | tail -n 2`

#nothing to commit, working tree clean 本地没有变化

noCommit='nothing to commit'

if [[ $lastMessage =~ $noCommit ]]; then

echo "无需提交"

exit

fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值