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

但因为git的账户为ubuntu,ftp是虚拟账户overlord,  www-data是apache的用户

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

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

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

解决方案:

  1. 应该先创建一个目录,用于放置代码的。需要对这个目录进行一些初始化操作, 

    usermod -aG overlord ubuntu    # 把用户ubuntu  添加到overlord用户组
    mkdir testcode
    chown overlord.overlord testcode/
    chmod testcode/
    chmod g+s testcode/   # 文件夹下新文件\夹继承上级用户组  

    修改vsftpd的账户的配置

    local_umask=

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

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

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

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

  


以上  

git 与 ftp 共同工作的更多相关文章

  1. 使用git代替FTP部署代码到服务器的例子

    这篇文章主要介绍了使用git代替FTP部署代码到服务器的例子,这种方法可以节省流量.节省时间,需要的朋友可以参考下 本地开发完成后,通常会在服务器上部署,有人会使用ftp,有人会使用scp, ftp和 ...

  2. 使用Git代替FTP进行虚拟主机的代码管理

    为什么要使用Git代替FTP的原因: 由于本人菜鸟+穷屌,玩不起VPS和其他大牌的云主机,所以呢就只能在景安(这不是广告..)申请了免费的虚拟主机,就想着自己玩玩而已,免费的嘛,空间流量什么的就不讨论 ...

  3. git总结一、工作中常用基础命令

    首先来了解两个概念: 工作区:比如你的项目目录 暂存区:git和其他版本控制系统的不同之处就是有这个暂存区的概念. .git不是工作区,而是git 版本库,在版本库中存放着很多东西,比如暂存区(sta ...

  4. git宝典—应付日常工作使用足够的指北手册

    最近公司gitlab又迁移,一堆git的命令骚操作,然鹅git命令,感觉还是得复习下——其实,git现在界面操作工具蛮多,比如intellij 自带的git操作插件就不错,gitlab github ...

  5. Git多人协作工作流程

    前言 之前一直把Git当做个人版本控制的工具使用,现在由于工作需要,需要多人协作维护文档,所以去简单了解了下Git多人协作的工作流程,发现还真的很多讲解的,而且大神也已经讲解得很清楚了,这里就做一个简 ...

  6. FTP服务工作原理

    1. FTP协议 什么是FTP呢?FTP 是 TCP/IP 协议组中的协议之一,是英文File Transfer Protocol的缩写. 该协议是Internet文件传送的基础,它由一系列规格说明文 ...

  7. Git 保存和恢复工作进度(stash)

    感谢原文作者:滑稽的命运 原文链接:https://www.jianshu.com/p/1e65e938f93c 作用: 封存工作区与暂存区已经被Git版本控制,但没有提交(Commit)版本库的文件 ...

  8. 项目git commit时卡主不良代码:husky让Git检查代码规范化工作

    看完 <前端规范之Git工作流规范(Husky + Commitlint + Lint-staged) https://www.cnblogs.com/Yellow-ice/p/15349873 ...

  9. git-ftp 用git管理ftp空间

    ftp管理不能实现版本控制,而且多电脑工作时,同步很成问题. git-ftp可以完美的解决问题 下面是我的趟坑之路,本机的环境是win10,首先你的机器得装有git. git-ftp的地址https: ...

随机推荐

  1. Java 平时作业七

    以下是几本计算机书籍的基本信息 编号  书名         价格      出版社 1  JAVA 基础   32   清华大学出版社 2  JAVA WEB 开发  40   电子工业出版社 3  ...

  2. Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks 阅读笔记

    Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks (使用循环一致的对抗网络的非配对图像-图 ...

  3. GUI开发:实时显示摄像头图像

    import tkinter as tk from PIL import Image, ImageTk import cv2 import numpy as np import time g_exit ...

  4. Java面试题集锦(持续更新)

    1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: -抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属性和行为,并不关注这 ...

  5. carthage和cocoapods

    http://www.jianshu.com/p/b5607b8b9348 http://www.jianshu.com/p/5ccde5f22a17 1.在brew install carthage ...

  6. 网络原因导致的 spring cloud config 读取git上的配置文件时报错:Cannot clone or checkout repository

    今天在公司使用spring cloud config搭建配置中心的时候,出现了读取不到git库的问题:Cannot clone or checkout repository.在网上百度,前面几个答案都 ...

  7. servlet之ServletRequest与ServletResponse (三)

    ·servlet的service()方法用于应答请求:每次请求都会调用service()方法 public void service(ServletRequest arg0, ServletRespo ...

  8. Some notes in Stanford CS106A(4)

    1.x++ is a method , the return value is x. (post increment) ++x is also a method , the return value ...

  9. iOS跳转第三方应用举例一号店和京东

    1.首先要跳转到第三方应用都需要知道第三方应用的scheme,虽然百度能得到很多,但是不乏一些新增的或者改了的,怎么获得APP的scheme,鉴于现在iTunes不好用了,介绍一个app ---app ...

  10. vue.js 视频教程

    0.1智能社vuejs(1-11章全套) 0.2英文版learing vuejs 0.3Vue.js实战小米阅读开发 0.4走进Vue.js2.0 0.5Vuejs教程45节课 0.6Vue.js+N ...