git 与 ftp 共同工作
因git主要用于版本管理,代码同步方面,因临时调试等原因,需要使用ftp上传文件。
但因为git的账户为ubuntu,ftp是虚拟账户overlord, www-data是apache的用户
导致文件权限不同,出现的问题主要有:
1.ftp无法覆盖已有的文件
2.git无法更新ftp上传的文件
解决方案:
- 应该先创建一个目录,用于放置代码的。需要对这个目录进行一些初始化操作,
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
$ - 首先,第一次代码上传建议使用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组的用户都可以进行文件读写操作
- ftp属于overlord,这样git与ftp进行文件操作,都不会因权限问题而无法操作。
以上
git 与 ftp 共同工作的更多相关文章
- 使用git代替FTP部署代码到服务器的例子
这篇文章主要介绍了使用git代替FTP部署代码到服务器的例子,这种方法可以节省流量.节省时间,需要的朋友可以参考下 本地开发完成后,通常会在服务器上部署,有人会使用ftp,有人会使用scp, ftp和 ...
- 使用Git代替FTP进行虚拟主机的代码管理
为什么要使用Git代替FTP的原因: 由于本人菜鸟+穷屌,玩不起VPS和其他大牌的云主机,所以呢就只能在景安(这不是广告..)申请了免费的虚拟主机,就想着自己玩玩而已,免费的嘛,空间流量什么的就不讨论 ...
- git总结一、工作中常用基础命令
首先来了解两个概念: 工作区:比如你的项目目录 暂存区:git和其他版本控制系统的不同之处就是有这个暂存区的概念. .git不是工作区,而是git 版本库,在版本库中存放着很多东西,比如暂存区(sta ...
- git宝典—应付日常工作使用足够的指北手册
最近公司gitlab又迁移,一堆git的命令骚操作,然鹅git命令,感觉还是得复习下——其实,git现在界面操作工具蛮多,比如intellij 自带的git操作插件就不错,gitlab github ...
- Git多人协作工作流程
前言 之前一直把Git当做个人版本控制的工具使用,现在由于工作需要,需要多人协作维护文档,所以去简单了解了下Git多人协作的工作流程,发现还真的很多讲解的,而且大神也已经讲解得很清楚了,这里就做一个简 ...
- FTP服务工作原理
1. FTP协议 什么是FTP呢?FTP 是 TCP/IP 协议组中的协议之一,是英文File Transfer Protocol的缩写. 该协议是Internet文件传送的基础,它由一系列规格说明文 ...
- Git 保存和恢复工作进度(stash)
感谢原文作者:滑稽的命运 原文链接:https://www.jianshu.com/p/1e65e938f93c 作用: 封存工作区与暂存区已经被Git版本控制,但没有提交(Commit)版本库的文件 ...
- 项目git commit时卡主不良代码:husky让Git检查代码规范化工作
看完 <前端规范之Git工作流规范(Husky + Commitlint + Lint-staged) https://www.cnblogs.com/Yellow-ice/p/15349873 ...
- git-ftp 用git管理ftp空间
ftp管理不能实现版本控制,而且多电脑工作时,同步很成问题. git-ftp可以完美的解决问题 下面是我的趟坑之路,本机的环境是win10,首先你的机器得装有git. git-ftp的地址https: ...
随机推荐
- VFS 上传文件到sftp 报错 包含中文路径 或者中文文件名称
之前用Apache commons-vfs工具进行ftp操作(FTP服务器是 FileZilla Server) 上传本地文件 到 ftp服务器上,如果文件名称 包含 中文 报错 org.apache ...
- angular 的navigate 各种使用情况
navigate是Router类的一个方法,主要用来跳转路由. 函数定义: navigate(commands: any[], extras?: NavigationExtras) : Promise ...
- 微信小程序swiper 前后边距的使用
小程序中有一个组件swiper 就是滑块视图容器 其中提供了两个属性 previous-margin:前边距,可用于露出前一项的一小部分 next-margin:后边距,可用于露出后一项的 ...
- python基础17_列表推导式 vs 生成器表达式
[ ] 列表推导式,是用简单的语法来生成列表, ( ) 生成器表达式,是用简单的语法创建个生成器. 外观上仅括号不一样. 虽然写起来方便,但是读起来稍显费力,另外,不易调试. # 列表推导式 prin ...
- QT 定时器详解
编译器 : Qt Creator 在窗口化类中实现定时器 .h #include <QTimer> private slots: ... void onTimerOut(); priv ...
- 关于while read line 循环中变量作用域的问题
前一阵用shell写了一个从数据库中抽取数据生成.xml文件的脚本,要求是每个文件中只生成1000条数据.于是用到了while read line 作为循环. 在制作文件计数器的时候发现了一个问题,在 ...
- Linux常用命令之Yum
Linux Yum命令详解Yum全称Yellow dog Updater,Modified,是一个在Fedora和RedHat以及SUSE中提供的基于RPM包的软件包管理工具,能够从指定的服务器自动下 ...
- oracle数据库实例启动与关闭
区分数据库与实例:实例是指各种内存结构和服务进程,数据库是指基于磁盘存储的数据文件.控制文件.参数文件.日志文件和归档日志文件组成的物里文件集合. 数据库实例启动: startup [nomount ...
- c# 连接数据库SqlHelper
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...
- 【Spring】文件上传
一:引入所需jar包 // https://mvnrepository.com/artifact/commons-fileupload/commons-fileuploadcompile group: ...