2010-07-21 69 views
1

我正在尝试在服务器中使用post-update挂钩创建一组git存储库和web文件夹。这将是这样的:用于Web开发的Git

//服务器的/ dev(用于开发文件)和//服务器/网络(Apache的主路径)

为//服务器的/ dev Git仓库的post-update挂钩:

#!/bin/sh 

unset GIT_DIR 
PROJECT=`basename $(pwd)` 
cd ../../web/${PROJECT} 

echo "Updating `pwd`..." 
git reset --hard 

我在推送内容时看到更新消息,但是//服务器/ web文件夹不会更新。它不断显示第一个提交HEAD。

“HEAD现在是XXXXXXX第一次提交”

还有周围的一些解决方案,但我似乎无法得到它的正常工作。

+0

有你看了在这个网站上处理这个问题的时间很少? – ndim 2010-07-21 14:29:29

+0

您正在使用git reset而不是git pull来获取内容并将其合并到当前分支中。 – Scharron 2010-07-21 14:34:21

+0

ndim,如果你能指出其中一个能够帮助我解决这个问题的人,那将会很棒。 – user377706 2010-07-21 17:51:36

回答

1

如果存储库位于最后一次提交的某个时间点,那么会进行更新,并且您拉取时,拉应该总是快进,根据定义,这不会导致合并冲突。唯一不是当你将非快进更新推送到中央存储库时,通常不应该这样做。

当然,你不如最坏的打算,并绝对保证,这将工作,即使非快进的更新,那么你可以这样做:

git fetch 
git reset --hard origin/master