正如評論中所建議的那樣,您可以使用git pre-commit掛鉤在提交時生成README.rst文件。你可以使用現有的工具,如cog,或者你可以用bash做一些簡單的事情。
例如,創建一個RST 「模板」 文件:
README.rst.tmpl
Test Git pre-commit hook project
--------------------------------
>>> INSERTION POINT FOR HELP OUTPUT <<<
的.git /鉤/預提交
# Sensible to set -e to ensure we exit if anything fails
set -e
# Get the output from your tool.
# Paths are relative to the root of the repo
output=$(tools/my-cmd-line-tool --help)
cat README.rst.tmpl |
while read line
do
if [[ $line == ">>> INSERTION POINT FOR HELP OUTPUT <<<" ]]
then
echo "$output"
else
echo "$line"
fi
done > README.rst
git add README.rst
如果未在命令行上傳遞提交消息,則會在提示您輸入提交消息之前運行此操作。因此,如果在README.rst.tmpl或工具輸出發生任何更改時發生提交,則會使用它更新README.rst。
編輯
我相信這應該在Windows上工作過,或非常類似的東西,因爲Git自帶了Windows上的bash的實現,但我沒有測試它。
我不知道我的理解正確:與'--help'輸出選項生成'README.rst'編程方式從其他手動編輯的文件一起? – bli
我不確定「如何」,但我知道結果應該是什麼樣子。我希望'myprod --help'的輸出在README中可見。自動更新自述文件將是一個解決方案。做某種包括將是首選,因爲我不希望在git中自動創建文本。我被告知所有創建的東西(比如來自編譯器的二進制文件)不應該在git中。 – guettli
也許你應該在你的問題中加入這些信息。 儘管關於git的一般建議,我會自動從兩個文件(幫助後的文本和文本之後的文本)和'myprod --help'的輸出或一些其他等效設置(自動替換)重新創建自述文件,並將其與'myprod'的更新一起提交。你可能會在git下有這個README文件,所以我猜這個「不跟蹤自動生成文件的變化」的建議在這裏並不重要。 – bli