簡體   English   中英

Git預提交掛鈎問題

[英]Git pre-commit hook issue

我是git hook的新手。 我今天開始寫一個預提交鈎子。 下面是我的鈎子,用於檢查文件中的抬高,警報,尾隨空白等。

#!/usr/bin/env ruby

regex = Regexp.union(/raise/, /puts/, /alert/, /console.log/, /[\s\t]+$/)

folder_path =`git rev-parse --show-toplevel`

`git diff --cached --name-only --diff-filter=ACM`.each do |file|
  file_text = File.read(File.join(folder_path.chomp, '/', file))
  if file_text.match(regex)
    puts "#{file} contains invalid word #{$&}. Please remove it"
    exit 1
  end
end 

當我提交示例文件時,沒有得到這樣的文件或目錄錯誤。 kranthi @ kranthi-Aspire-4755:〜/ learning / git_learning $ git commit -m“ tet”

.git/hooks/pre-commit:9:in `read': No such file or directory - /home/kranthi/learning/git_learning/another_folder/test2.txt (Errno::ENOENT)
    from .git/hooks/pre-commit:9
    from .git/hooks/pre-commit:17:in `map'
    from .git/hooks/pre-commit:8:in `each'
    from .git/hooks/pre-commit:8:in `map'
    from .git/hooks/pre-commit:8

誰能告訴我這里的問題是什么。

從其他git鈎子(例如“ pre-commit/utils/staged_files.rb ”或“ i-wind/gpc/pre-commit.rb ”) i-wind/gpc/pre-commit.rb ,您不需要在回購的根文件夾之前。

file_text = File.read(File.join(file))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM