Git Server Hooks - Are they executed locally on the client/clone machine?

后端 未结 3 346
时光取名叫无心
时光取名叫无心 2021-01-21 17:58

Setup:

I have master repo on Windows machine and a clone on another windows machine. Inside my update hook, I have added ipconfig

相关标签:
3条回答
  • 2021-01-21 18:34

    They run on the server. Otherwise it would be very inconvenient to write scripts (they would have to run on all operating systems etcetera).

    You say

    I have master repo on Windows machine and a clone on another windows machine. Inside my update hook, I have added ipconfig to print IP address. I was expecting to see the master's IP address, but it actually prints out clone's.

    Can you please elaborate. What did you do when you got this ip address? How did you use these two repositories?

    EDIT: A reference

    0 讨论(0)
  • 2021-01-21 18:45

    Looks like we could find the reason. I had used file:// protocol to create a clone. When my colleague attempted with SSH, server IP was printed out as expected.

    0 讨论(0)
  • 2021-01-21 18:59

    There's a post on superuser which talks about When I run a Git hook in a repo on a network share which binaries are used:

    "If it’s a regular (SMB/CIFS) network share, it’s executed on the client.

    If you use Git via SSH or HTTPS, Git (possibly an alternative implementation) is running on the remote side and executes hooks.

    More simplified: If you have a file path set as the remote, it’s executed locally, even when it’s actually SSHFS or whatnot. Otherwise, it’s executed remotely."

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