如何检查本地下载的git存储库是否已更新?以及如何更新它?

时间:2017-10-01 10:13:50

标签: git tortoisegit

我学会了如何下载没有历史记录的Git存储库(以节省磁盘空间和Internet流量)。我使用以下内容创建了文件git-no-history.bat

git clone --depth 1 %1

现在我需要创建文件git-check.bat(检查我的版本是否是最后一个)和git-update.bat(转到上一个版本)。我应该在这写什么?

如果可能,还要说明如何在TortoiseGit中执行这三项操作。

请不要Linux Bash;我没有经验。

1 个答案:

答案 0 :(得分:0)

git-check.bat

@echo off

git fetch origin
if %errorlevel% neq 0 goto end



rem #get number of new commits
FOR /F "delims=" %%i IN ('git rev-list HEAD...origin/master --count') DO set numofupdates=%%i

if [%numofupdates%]==[0] goto nothing_new


rem #get list of new commits
git log HEAD..origin/master --oneline


set ask=
set /p ask=Update? (y/n)
if not [%ask%]==[y] goto nah

echo Updating...
git merge origin
echo Done!
goto end

:nah
echo Nah...
goto end

:nothing_new
echo Nothing new
goto end

:end

rem Looks like `git pull` is the same as `git fetch origin` plus `git merge origin`.

我将在没有git-update.bat的情况下生活,它需要执行git fetch origin两次。也许有一种方法可以获得最后一次获取的时间,但这对于蝙蝠来说太复杂了。