在項目開發(fā)中摊阀,團隊協(xié)作會創(chuàng)建很多不同的分瓦阐,在進行代碼合并發(fā)布的時候,經(jīng)常需要從自己的分支合并到線上纤子、測外的分支搬瑰。你會有想保留自己分支上的東西不合并到線上等主分支上的時候,這時你需要怎么做呢控硼?
這里推薦一個最簡單的做法泽论,通過添加.gitattributes文件來完成:
在要被合并的分支中設置 git config --global merge.ours.driver true設置git配置項merge不合并的具體分支上的內(nèi)容的;
新建.gitattributes文件卡乾,在文件中寫入你要忽略的文件翼悴,比如compile.sh編譯文件,compile.sh merge=ours幔妨;
提交推送新建的.gitattributes文件鹦赎;
完成上面操作之后谍椅,回到你要合并的分支,執(zhí)行合并操作古话。
比如毯辅,現(xiàn)在我們有master、dev煞额、self三個分支。master是默認的主分支沾谜,dev是測外的分支膊毁,self是你自己的分支。
你現(xiàn)在要將self分支上的代碼基跑,merge到master上婚温。但是,你有個文件比如是detail.md文件時這個分支不同其它分支的媳否,你不想合并過去栅螟。
這時,你在self分支中可以進行下面操作:
1篱竭、設置git merge配置項
git config --global merge.ours.driver true
2力图、新建.gitattributes文件
當然是在項目的根目錄下。
在文件中寫入:detail.md merge=ours
3掺逼、提交推送.gitattributes文件
git add/ commit/push
4吃媒、我們切到master分支,執(zhí)行git merge