Server-side Hooks 링크의 내용에 따르면 사전 수신과 마찬가지로 사후 수신도 실행 전에 3개의 매개변수를 얻음을 알 수 있습니다. <old-value> ;참조 이름><old-value> <new-value> <ref-name>
The script takes no parameters, but each ref that is being pushed is passed to the script on a separate line on standard input in the following format: <old-value> <new-value> <ref-name> 如 b6b36c697eb2d24302f89aa22d9170dfe609855b 85baa88c22b52ddd24d71f05db31f4e46d579095 refs/heads/master
스크립트는 매개변수를 사용하지 않지만 푸시되는 각 참조는 다음 형식으로 표준 입력의 별도 줄에서 스크립트에 전달됩니다.🎜<old-value> & lt; 참조 이름 & gt; 🎜 B6B36C697EB2D24302F89AA22D9170DFE609855B 85baa88C22DDDD71F05D579095 Refs/H Eads/Master 🎜
🎜이제 ref-name과 해당 hash 값을 알았으므로 해당 git 명령에 따라 해당 정보를 얻을 수 있습니다. 예를 들어 git log. 심판/헤드/마스터.🎜
post-receive클라이언트에서 푸시 작업을 처리할 때 호출되는 첫 번째 스크립트는 사전 수신입니다. 표준 입력에서 일련의 푸시된 참조를 가져옵니다. 0이 아닌 값으로 종료되면 모든 푸시 콘텐츠가 허용되지 않습니다. 이 후크를 사용하면 참조에 대한 빨리 감기가 아닌 업데이트를 방지하거나 푸시로 수정된 모든 참조 및 파일에 대한 액세스를 제어할 수 있습니다.
update🎜업데이트 스크립트는 업데이트할 각 분기에 대해 한 번 실행된다는 점을 제외하면 사전 수신 스크립트와 매우 유사합니다. 푸셔가 동시에 여러 분기에 콘텐츠를 푸시하는 경우 사전 수신은 푸시된 각 분기에 대해 한 번 실행되는 업데이트와 달리 한 번만 실행됩니다. 표준 입력에서 콘텐츠를 읽지 않지만 참조(분기) 이름, 푸시 전 참조가 가리키는 콘텐츠의 SHA-1 값, 푸시 전 콘텐츠의 SHA-1 값이라는 세 가지 매개변수를 사용합니다. 사용자가 푸시하려고 합니다. 업데이트 스크립트가 0이 아닌 값으로 종료되면 해당 참조만 거부되고 나머지는 계속 업데이트됩니다. 🎜
🎜수신 후🎜수신 후 후크는 전체 프로세스가 완료된 후 실행되며 다른 시스템 서비스를 업데이트하거나 사용자에게 알리는 데 사용할 수 있습니다. 사전 수신과 동일한 표준 입력 데이터를 허용합니다. 메일링 리스트에 게시, 지속적인 통합 서버에 알리기, 티켓 추적 시스템 업데이트 등의 용도로 사용됩니다. 커밋 정보를 분석하여 티켓을 켜야 하는지, 수정해야 하는지, 꺼야 하는지 판단할 수도 있습니다. 이 스크립트는 푸시 프로세스를 종료할 수 없지만 클라이언트는 실행이 완료될 때까지 연결을 유지하므로 다른 작업을 수행하려는 경우 시간이 오래 걸리므로 주의해서 사용하세요. 🎜
Server-side Hooks 링크의 내용에 따르면 사전 수신과 마찬가지로 사후 수신도 실행 전에 3개의 매개변수를 얻음을 알 수 있습니다.
<old-value> ;참조 이름>
<old-value> <new-value> <ref-name>
所以既然知道了
🎜이제ref-name
和相应的hash
值,就可以根据git相应的命令得到对应的信息.如git log refs/heads/master
ref-name
과 해당hash
값을 알았으므로 해당 git 명령에 따라 해당 정보를 얻을 수 있습니다. 예를 들어git log. 심판/헤드/마스터
.🎜https://git-scm.com/book/zh/v...
다른 후크는 입력 스트림에서 다른 매개변수를 전달합니다.
사전 수신
pre-receive
处理来自客户端的推送操作时,最先被调用的脚本是 pre-receive。 它从标准输入获取一系列被推送的引用。如果它以非零值退出,所有的推送内容都不会被接受。 你可以用这个钩子阻止对引用进行非快进(non-fast-forward)的更新,或者对该推送所修改的所有引用和文件进行访问控制。
update
update 脚本和 pre-receive 脚本十分类似,不同之处在于它会为每一个准备更新的分支各运行一次。 假如推送者同时向多个分支推送内容,pre-receive 只运行一次,相比之下 update 则会为每一个被推送的分支各运行一次。 它不会从标准输入读取内容,而是接受三个参数:引用的名字(分支),推送前的引用指向的内容的 SHA-1 值,以及用户准备推送的内容的 SHA-1 值。 如果 update 脚本以非零值退出,只有相应的那一个引用会被拒绝;其余的依然会被更新。
post-receive
클라이언트에서 푸시 작업을 처리할 때 호출되는 첫 번째 스크립트는 사전 수신입니다. 표준 입력에서 일련의 푸시된 참조를 가져옵니다. 0이 아닌 값으로 종료되면 모든 푸시 콘텐츠가 허용되지 않습니다. 이 후크를 사용하면 참조에 대한 빨리 감기가 아닌 업데이트를 방지하거나 푸시로 수정된 모든 참조 및 파일에 대한 액세스를 제어할 수 있습니다.update
🎜업데이트 스크립트는 업데이트할 각 분기에 대해 한 번 실행된다는 점을 제외하면 사전 수신 스크립트와 매우 유사합니다. 푸셔가 동시에 여러 분기에 콘텐츠를 푸시하는 경우 사전 수신은 푸시된 각 분기에 대해 한 번 실행되는 업데이트와 달리 한 번만 실행됩니다. 표준 입력에서 콘텐츠를 읽지 않지만 참조(분기) 이름, 푸시 전 참조가 가리키는 콘텐츠의 SHA-1 값, 푸시 전 콘텐츠의 SHA-1 값이라는 세 가지 매개변수를 사용합니다. 사용자가 푸시하려고 합니다. 업데이트 스크립트가 0이 아닌 값으로 종료되면 해당 참조만 거부되고 나머지는 계속 업데이트됩니다. 🎜 🎜수신 후
🎜수신 후 후크는 전체 프로세스가 완료된 후 실행되며 다른 시스템 서비스를 업데이트하거나 사용자에게 알리는 데 사용할 수 있습니다. 사전 수신과 동일한 표준 입력 데이터를 허용합니다. 메일링 리스트에 게시, 지속적인 통합 서버에 알리기, 티켓 추적 시스템 업데이트 등의 용도로 사용됩니다. 커밋 정보를 분석하여 티켓을 켜야 하는지, 수정해야 하는지, 꺼야 하는지 판단할 수도 있습니다. 이 스크립트는 푸시 프로세스를 종료할 수 없지만 클라이언트는 실행이 완료될 때까지 연결을 유지하므로 다른 작업을 수행하려는 경우 시간이 오래 걸리므로 주의해서 사용하세요. 🎜