Run script before commit and include the update in this commit?

后端 未结 1 1062
陌清茗
陌清茗 2021-02-08 16:50

I wrote a script that generates Readme.md file (for GitHub) by scanning the source code. Everytime before I make a new commit, I run this script manually to update

1条回答
  •  忘了有多久
    2021-02-08 17:19

    According to this SO thread (Can a Git hook automatically add files to the commit?), git add won't work on pre-commit hook with recent version of git.

    As a workaround, you can play with pre-commit and post-commit hooks to generate your Readme.md then commit it after your commit with post-commit hook then ammend the second commit with yours.

    Not's my idea, follow the links for original explanations.

    Answer by @bitluck on the thread I linked :

    Touch a file .commit or something. (be sure to add this to .gitignore)

    #!/bin/sh 
    echo 
    touch .commit 
    exit
    

    if .commit exists you know a commit has just taken place but a post-commit hasn't run yet. So, you can do your code generation here. Additionally, test for .commit and if it exists:

    • add the files
    • commit --amend -C HEAD --no-verify (avoid looping)
    • delete .commit file

      #!/bin/sh
      echo
      if [ -a .commit ]
      then
        rm .commit
        git add yourfile
        git commit --amend -C HEAD --no-verify
      fi
      exit
      

    0 讨论(0)
提交回复
热议问题