公司的网站要不断的更新,不断上传文件,怎样才能提高效率?

2013-08-06 09:15:57 +08:00
 hellohacker
这个问题困惑了好长时间,至今也没有解决。说下我的情况:
我负责维护公司的3个网站,主要是网站功能的开发。几乎每天要修改代码,一次大概修改十几个甚至更多。起初我是现在本地调试完,然后上传到服务器。但是我发现,有时候修改的文件多了,再去找到底修改了哪些文件,是一件非常头疼的事情。
我现在的做法是,把服务器的文件全部down到本地,然后修改一个上传一个,然后调试,这样虽然不用到最后找修改了哪些文件,但是修改一次上传一次,然后调试,这样的做法也挺慢。
大家有没有这样的工作经历,是怎样解决的。在这里先谢过大家。

ps:第一次发帖,有不当的地方 还请指正!
6348 次点击
所在节点    程序员
55 条回复
phuslu
2013-08-06 10:55:37 +08:00
楼主你其实可以试下 winscp 的同步功能。。。
vivianalive
2013-08-06 10:55:47 +08:00
一个人维护三个网站...我很惊讶你竟然没有使用版本管理软件.
试想一下,如果是三个人维护一个网站,你们要怎么追踪,记录,解决各自的改动和冲突呢?

所以,你需要GIT/SVN/SourceAnywhere + 任意一款FTP工具.
buru
2013-08-06 10:57:36 +08:00
我用svn,代码一次提交,然后show log,选择added 和 modified 的文件,export出来,然后ftp 上传至服务器,done
buru
2013-08-06 10:59:24 +08:00
我对git不熟悉,我想问一下各位git有没类似svn的export功能,就是导出来目录结构都在的?
xiaket
2013-08-06 11:01:30 +08:00
没人提rsync? 要比较可以先dry-run一次, 确认后再跑一次. 自动增量, 自动比较文件校验值, 多省心...
aggron
2013-08-06 11:01:52 +08:00
我现在的做法是,代码托管在bitbucket上(上面可以建免费的私有仓库)
每次发布版本时,本地push到bitbucket,然后SSH到VPS,hg pull, hg update代码就拿过去了。

你也可以不使用bitbucket的服务,直接在服务器上建hg/git server。
chchwy
2013-08-06 11:22:54 +08:00
@hellohacker { 但是我发现,有时候修改的文件多了,再去找到底修改了哪些文件,是一件非常头疼的事情。 }

用了git,隨時知道源碼何時何地何處有修改,各修改版之間的差異,全都一清二楚。

你要做的就是在服務器上開個git/svn版本庫,然後開始學著用。本地端改完了就將變更推送進版本庫,服務器上再從版本庫更新源碼。
shierji
2013-08-06 12:18:14 +08:00
亲。git欢迎你……
nsa
2013-08-06 12:22:38 +08:00
deploy, production, rsync, git
terry
2013-08-06 12:47:53 +08:00
rsync over SSH, sshfs, NFS, btsync, continous integration 工具直接从 Git Repo 中 checkout 部署,很多不同的做法。
undeadking
2013-08-06 12:53:34 +08:00
我负责的一个项目是服务器在客户那,我只有ftp的权限,无法在服务器上部署任何软件.于是只能用git diff --name-only 来查看修改过什么文件,然后再逐个上传.

其他项目都是直接push到代码库,然后在服务器上执行pull

@buru git archive -o update.zip HEAD $(git diff --name-only HEAD^)
原贴见 http://ruby-china.org/topics/5312
Nerrsoft
2013-08-06 13:14:30 +08:00
git 不二选择
revlis7
2013-08-06 14:08:41 +08:00
@undeadking 对于只能使用FTP的情况,我又要忍不住推荐BeyondCompare了,可通过FTP、SFTP比较本地和远程的文件,哪些文件被修改过一目了然。
jevonszmx
2013-08-06 14:11:07 +08:00
最简单的方法不是版本控制+rsync嘛?
公司是svn+rsync同步8台web服务器,毫无压力。

楼主看来对版本控制毫无概念。。。
mengzhuo
2013-08-06 14:45:39 +08:00
git + fabric + rsync + alias

yoyo~
pubby
2013-08-06 14:57:53 +08:00
gxxa36d
2013-08-06 15:01:09 +08:00
版本控制
lordong
2013-08-06 15:50:51 +08:00
竟然没人提到dropbox?
jpuyy
2013-08-06 16:17:22 +08:00
你可外包给ls任何一位,问题解决。
DoubleH
2013-08-06 16:48:17 +08:00
Git真的就这么NB?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/78130

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX