git 与 ftp 共同工作

因git主要用于版本管理,代码同步方面,因临时调试等原因,需要使用ftp上传文件。

但因为git的账户为ubuntu,ftp是虚拟账户overlord

导致文件权限不同,出现的问题主要有:

1.ftp无法覆盖已有的文件

2.git无法更新ftp上传的文件

解决方案:

  1. 应该先创建一个目录,用于放置代码的。需要对这个目录进行一些初始化操作,  
    usermod -aG overlord www-data    # 添加用户www-data    到overlord用户组
    usermod -aG overlord ubuntu      # 添加用户ubuntu    到overlord用户组
    mkdir testcode
    chown overlord.overlord testcode/
    chmod 775 testcode/
    chmod g+s testcode/   # 文件夹下新文件\夹继承上级用户组

    修改vsftpd的账户的配置

    local_umask=002

    查看 umask,确保是0002--如果不是,使用   umask 002

    $ umask
    $ 0002
  2. 首先,第一次代码上传建议使用git克隆clone一份到服务器,这样的好处是开发人员可以预先整理一次代码,筛选需要版本管理的代码
    git clone https://git.dxgz.work/zhuangdx/timer_deleter.git
    ubuntu@ubuntu:./timer_deleter$ ll
    total 44
    drwxrwsr-x 5 ubuntu   overlord 4096 Mar 21 17:44 ./
    drwxrwsr-x 3 overlord overlord 4096 Mar 21 17:44 ../
    -rw-rw-r-- 1 ubuntu   overlord  636 Mar 21 17:44 add_cron_td_job.sh
    drwxrwsr-x 2 ubuntu   overlord 4096 Mar 21 17:44 conf/
    drwxrwsr-x 8 ubuntu   overlord 4096 Mar 21 17:44 .git/
    -rw-rw-r-- 1 ubuntu   overlord    5 Mar 21 17:44 .gitignore
    -rw-rw-r-- 1 ubuntu   overlord 4393 Mar 21 17:44 handle.py
    -rw-rw-r-- 1 ubuntu   overlord 1065 Mar 21 17:44 LICENSE
    -rw-rw-r-- 1 ubuntu   overlord 1651 Mar 21 17:44 README.md
    -rw-rw-r-- 1 ubuntu   overlord    0 Mar 21 17:44 run.log
    drwxrwsr-x 2 ubuntu   overlord 4096 Mar 21 17:44 utils/

    上面可以看出来,用户组和所有者的权限一致。这样在 overlord组的用户都可以进行文件读写操作

  3. ftp属于overlord,这样git与ftp进行文件操作,都不会因权限问题而无法操作。

  


以上  

猜你喜欢

转载自www.cnblogs.com/duoxuan/p/10573311.html
FTP