
我在我們的一台伺服器上遇到以下問題:我希望用戶定期從 Git 儲存庫中拉取(使用 cronjob),但只進行快轉拉取(伺服器上的內容有時也會發生變化)。使用現代 Git(1.6.6 及更高版本),我可以簡單地執行以下操作
git pull --ff-only origin master
但由於我只安裝了 1.6.0.2,所以我不能這樣做。我想我可以透過這樣做來解決這個問題
git config merge.ff only
git pull origin master
但事實證明,這不起作用(沒有錯誤,但它仍然會合併)。我有什麼想法可以解決這個問題嗎?
答案1
master
我透過手動檢查當前分支 ( ) 是否實際上是要合併的分支 ( ) 的後代找到了解決方案origin/master
:
git fetch origin
if [ $(git branch --contains master -a | grep origin/master) ]
then
git merge origin/master
else
echo "No fast-forward, aborting merge"
fi