当同一分支上有新的提交时,自动将本地git存储库与远程存储库同步

哈米德·塔瓦科利

我已经在amazon ec2实例上克隆了一个git存储库。我要这样做,以便git pull command在对远程存储库的同一分支进行新提交时,ec2实例上的本地存储库始终自动同步(也许使用)。我该如何实现?

原俊裴

如果希望保持服务器与服务器所在分支上的最新更改保持同步,则可以按照此处的步骤进行操作。当提交或关闭拉取请求时,将进行“ Git拉取”。

将此添加到您的代码库以触发,

// This function serves as the Payload URL for Github's webhook
// https://github.com/reponame/projectname/settings/hooks/
public function post_receive() 
{
    // copied from 'https://gist.github.com/1809044'
    $commands = array(
        'hostname',
        'echo $PWD',
        'whoami',
        'git fetch',
        'branch=$(git symbolic-ref -q --short HEAD)',
        'git reset --hard origin/$branch',
        'git pull',
        'git status'
    );

    // Run the commands for output
    $output = '';
    foreach($commands AS $command){
        // Run it
        $tmp = shell_exec($command);
        // Output
        $output .= "<span style=\"color: #6BE234;\">\$</span> <span style=\"color: #729FCF;\">{$command}\n</span>";
        $output .= htmlentities(trim($tmp)) . PHP_EOL.'<br/>';
    }

    print_r($output);

}

在Github.com上访问Webhooks和服务,https://github.com/reponame/projectname/settings/hooks

点击“添加Webhook”

在“有效载荷URL”中,指定要在其上启用自动“ git pull”的服务器的URL,例如,

https://yourserver.com/github/post_receive ”。我们需要确保网址为https(安全),否则我们将获得302

或者,单击“禁用SSL验证”

对于“您想触发哪个网络挂钩事件?”,选择“让我选择单个事件”。然后选择“请求”和“推送”

点击“添加webhook”

在“最近的交货”中,确认您得到的响应正确,并且为绿色。

Webhook Post请求会在您的服务器上触发以下命令,

在Apache服务器上设置www数据组权限

sudo apt-get install members

members www-data

adduser username www-data

chown www-data:www-data -R username

cp -R /home/username/.ssh /var/www/.ssh

chown www-data:www-data -R /var/www/.ssh

ls -la /var/www/.ssh

sudo chmod g+w .git -R

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当同一分支上有新提交时,将自动将本地git存储库与远程存储库同步

来自分类Dev

在所有Git存储库中的同一分支上工作

来自分类Dev

git合并或合并同一分支和相同存储库中的两个文件

来自分类Dev

在同一分支上时,如何将git工作副本更新为特定提交?

来自分类Dev

在同一分支上时,如何将git工作副本更新为特定提交?

来自分类Dev

将本地文件同步到远程git存储库

来自分类Dev

从本地恢复远程存储库上的所有 git 分支

来自分类Dev

Git不会将本地存储库与远程存储库同步

来自分类Dev

无法将本地 git master 同步到现有的 git hub 远程存储库

来自分类Dev

如何将本地git存储库中的所有远程分支转换为本地跟踪分支

来自分类Dev

Smart-Git:将新的远程svn分支添加到现有存储库

来自分类Dev

将本地目录与现有git存储库同步

来自分类Dev

将本地laravel项目与现有git存储库同步

来自分类Dev

Git / GitHub:如何将新的本地存储库转换为空的远程存储库

来自分类Dev

当我将提交推送到远程存储库时,为什么Git会显示本地的“从远程拉出”?

来自分类Dev

使用git rev-parse获取同一分支中的提交范围

来自分类Dev

如何在Git中重新设置同一分支的提交?

来自分类Dev

Git:将同一分支的提交添加到主控

来自分类Dev

GIT - 来自同一分支的拉取请求带来提交历史

来自分类Dev

Git:本地和远程存储库不同步

来自分类Dev

Git-远程分支分支的存储库

来自分类Dev

可以将Git存储库的上游设置为同一存储库的本地克隆吗?

来自分类Dev

将 git-svn 分支与 git 存储库同步

来自分类Dev

将两个git远程存储库配置到两个相应的本地分支

来自分类Dev

vNext 构建管道以将远程 git 同步到本地存储库

来自分类Dev

自动提交和自动将本地存储库中的更改推送到git

来自分类Dev

将本地存储库的所有分支重置为与远程相同

来自分类Dev

使存储库中的分支与新的独立存储库保持同步

来自分类Dev

Git基于分支的分支,该分支已将提交与另一分支合并

Related 相关文章

  1. 1

    当同一分支上有新提交时,将自动将本地git存储库与远程存储库同步

  2. 2

    在所有Git存储库中的同一分支上工作

  3. 3

    git合并或合并同一分支和相同存储库中的两个文件

  4. 4

    在同一分支上时,如何将git工作副本更新为特定提交?

  5. 5

    在同一分支上时,如何将git工作副本更新为特定提交?

  6. 6

    将本地文件同步到远程git存储库

  7. 7

    从本地恢复远程存储库上的所有 git 分支

  8. 8

    Git不会将本地存储库与远程存储库同步

  9. 9

    无法将本地 git master 同步到现有的 git hub 远程存储库

  10. 10

    如何将本地git存储库中的所有远程分支转换为本地跟踪分支

  11. 11

    Smart-Git:将新的远程svn分支添加到现有存储库

  12. 12

    将本地目录与现有git存储库同步

  13. 13

    将本地laravel项目与现有git存储库同步

  14. 14

    Git / GitHub:如何将新的本地存储库转换为空的远程存储库

  15. 15

    当我将提交推送到远程存储库时,为什么Git会显示本地的“从远程拉出”?

  16. 16

    使用git rev-parse获取同一分支中的提交范围

  17. 17

    如何在Git中重新设置同一分支的提交?

  18. 18

    Git:将同一分支的提交添加到主控

  19. 19

    GIT - 来自同一分支的拉取请求带来提交历史

  20. 20

    Git:本地和远程存储库不同步

  21. 21

    Git-远程分支分支的存储库

  22. 22

    可以将Git存储库的上游设置为同一存储库的本地克隆吗?

  23. 23

    将 git-svn 分支与 git 存储库同步

  24. 24

    将两个git远程存储库配置到两个相应的本地分支

  25. 25

    vNext 构建管道以将远程 git 同步到本地存储库

  26. 26

    自动提交和自动将本地存储库中的更改推送到git

  27. 27

    将本地存储库的所有分支重置为与远程相同

  28. 28

    使存储库中的分支与新的独立存储库保持同步

  29. 29

    Git基于分支的分支,该分支已将提交与另一分支合并

热门标签

归档