有一段代码可以阻止更改合并/推送到git吗?

时间:2020-05-07 09:35:52

标签: git visual-studio-code

如果我需要一些额外的代码来在本地服务器上运行某些内容,但是需要记住将其删除,然后再推送到git或合并到受保护的分支中。

是否有一段代码(或vscode扩展名)可以通知git或在推送时通知我(如果我忘记删除该代码)。像//TODO:还是git可以识别的东西?

2 个答案:

答案 0 :(得分:1)

在git方面:您可以在本地存储库中添加一个预推钩子,以扫描代码中的禁止单词,并在发现单词时取消推送。

例如,这里有一些寻找dontpush的代码(它使用git grep -i"DoNtPuSh"的任何大小写都可以工作),并且如果在本地提交中找到则不会推送:

# file '.git/hooks/pre-push' :
#!/bin/bash

remote="$1"
url="$2"

z40=0000000000000000000000000000000000000000

while read local_ref local_sha remote_ref remote_sha
do
    if [ "$local_sha" = $z40 ]
    then
        # Delete: nothing to do on deleted branches
    else
        # Check if "dontpush" appears in the local commit :
        dontpush=`git grep -n -i dontpush $local_sha -- $files`
        if [ -n "$dontpush" ]
        then
            # print 'git grep' output on STDERR,
            # remove the leading "sha:" on each line
            (echo $dontpush | sed -e 's/^[^:]*://') | cat >&2
            echo >&2 "*** Found 'dontpush' tag in $local_ref, not pushing"
            exit 1
        fi
    fi
done

exit 0

答案 1 :(得分:0)

  1. 您可以在单独的分支上工作,以后再合并以分析更改并删除不需要的内容。
  2. 只要您单击要暂存的文件,就可以在VS代码中使用git,您可以轻松地看到您在代码中所做的更改,因此使用此u您还可以看到想要删除的多余部分。