在 Git 1.6.0.2 上模擬僅 ff 行為

在 Git 1.6.0.2 上模擬僅 ff 行為

我在我們的一台伺服器上遇到以下問題:我希望用戶定期從 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

相關內容