新手git 问题:服务器端修改了文件,比如更新了sitemap.xml,如何让git知道更新过?

2012-11-26 12:15:19 +08:00
 elgoog
对git 不是很了解,写了个程序传到了服务器上,服务器端自己更新了sitemap,后面push的时候覆盖掉了已经更新了的sitemap,悲催。但是git pull的时候提示"already up-to-date"。

请问有什么办法让服务端更新文件的时候通知git吗?谢谢~~
5252 次点击
所在节点    git
13 条回复
anyforever
2012-11-26 12:25:37 +08:00
如果不是我没看明白的话,貌似你的顺序搞错了
本地push到远程repo,服务器响应这个远程repo,更新文件,应该是这样。
至于是自动响应还是手动,是另外一个问题了。
binux
2012-11-26 12:27:13 +08:00
sitemap在git中吗?
后面push,谁push?
git pull是谁pull?
这个场景git的作用?
honk
2012-11-26 12:41:20 +08:00
這種情景適合 .gitignore
guojikai
2012-11-26 12:47:22 +08:00
根本就是操作错误,这种错误不能兼容。先更新后提交,怎能先提交后更新呢?服务器端没有义务去通知客户端(试想一下有上万个客户端,这个开销有什么意义?)

去服务端寻旧版本,把文件恢复吧。
meta
2012-11-26 12:48:34 +08:00
git哪来的服务器端啊,如果要协作,往同一个地方push就是了,你看到每次都up to date,要么是有一边忘了push,要么是push到不同的branch中去了。
alexrezit
2012-11-26 12:51:10 +08:00
remote 端没 commit?
哪有在 remote 端直接改文件的啊...
reus
2012-11-26 12:54:39 +08:00
服务器那边也要先commit,然后本地再git pull
如果想要服务器自动commit,那就在生成sitemap的时候一起commit
elgoog
2012-11-26 13:05:50 +08:00
@binux
@anyforever
@guojikai
不好意思,刚重新描述了一下..
elgoog
2012-11-26 13:06:34 +08:00
@reus 嗯,就是需要服务器commit,但是不知道怎么弄..
elgoog
2012-11-26 13:08:00 +08:00
@alexrezit 是网站程序自动改的..想把这些更改也给git管理
timonwong
2012-11-26 13:16:36 +08:00
@elgoog
我想你要 libgit2 http://libgit2.github.com/
有PHP的binding.
anyforever
2012-11-26 13:32:26 +08:00
你所描述的服务器端也是git的一个客户端,都clone一个中心库就行了。
关于如何自动pull,你可以Google一下Git Hooks机制,这里有一些操作中的环节能响应你想做的,比如post-update
pityonline
2012-11-26 13:33:01 +08:00
假设你的 wordpress 架设在 vps 上,你想跟踪 wordpress 目录的所有变更,应该 ssh 登录到 vps 上去跟踪 wordpress 目录中所有文件,再把这个仓库推送到一个 remote(github 不合适,因为免费用户只能创建公开的 repo),这样你就可以监视 worpdress 的变动或做手动管理了,即使你通过 wordpress 升级程序去更新主程序或 plugins,或在 wordpress 后台编辑了 theme 或其它文件,理论上来讲更新后的文件状态也可以由 git 跟踪到的,最好常用 git status 查看一下。
以上动作都是在 vps 上完成的。如果你想在本地管理,可以通过 Dropbox 把 wordpress 目录同步至本地电脑,这样你就可以在本地管理了,如果网络好的话,你在本地编辑好的文件会立即自动同步到 vps 上,但一个明显的缺点就是由于网络原因,可能会产生一些冲突,需要手动解决一下。
至于你所说的服务器端更新了文件通知 git,假设你按我第一段所说的,只要登录到 vps 上在 wordpress 目录内执行 git status 即可发现服务器上哪些文件有更新,但这些更新都是未提交的,提交还是要手动的。

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

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

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

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

© 2021 V2EX