2015-07-22 108 views
2

我打算編寫一個預提交掛鉤。它應該在分支出文件之後檢查主分支是否有任何版本。預先掛鉤檢查git中的版本

例子。 1月1日,一個文件abc.txt從master分支出來。假設分支名稱是BR1.X.在BR1.x分支上,該文件一直工作到1月10日。在MAster分支上說,1月5日發生了一些變化。所以提交前應該給出一條消息,說明在分支之後在master上發生了變化。請幫助如何從git獲取這些細節?

回答

2
  1. 查找當前分支的共同祖先和主分支:

    ANCESTOR=`git merge-base HEAD master` 
    
  2. 查找正在上演的文件提交:

    STAGED=`git diff --cached --name-only --diff-filter=ACM` 
    
  3. 檢查,如果這些文件有已在主版本上修改:

    git diff --name-only $ANCESTOR master $STAGED 
    

並做任何你需要做的這個信息