日韩天堂,国产精品久久久久久久久久一区,羞羞羞网站,自拍视频网站,久久亚洲欧美成人精品,桃花阁成人网在线观看

Hello! 歡迎來到小浪云!


git crlf、lf自動轉換引起的問題


avatar
小浪云 2025-05-12 23

項目團隊最近在代碼中加入了一個新功能,利用flyway工具來管理數據庫版本變更。這個工具會記錄每次數據庫結構的變化,并生成sql文件保存在指定目錄中(前提是必須使用flyway進行數據庫變更,外部變更無法被它識別)。每次啟動時,flyway會檢查當前數據庫與項目代碼中的sql變更版本是否一致。如果一致,系統正常啟動;如果不一致,且數據庫版本落后,flyway會自動更新數據庫,以確保代碼在任何環境中運行時數據庫都是一致的。否則,系統會報錯。數據庫中有一張表記錄版本信息,如下圖所示:

git crlf、lf自動轉換引起的問題

同時,本地代碼中有一個文件夾保存每次操作的sql語句,如下圖:

git crlf、lf自動轉換引起的問題

通過比較checksum值來判斷當前SQL語句和生成數據庫的執行語句是否一致,checksum值是通過CRC32計算并處理得出的。

然后問題出現了:團隊中的其他成員搭建好flyway后,項目文件生成了兩個SQL文件,我通過git拉取這些文件后,啟動項目時報錯,checksum值不匹配。我對flyway不太了解,根據報錯信息,一步步查找,最終發現checksum值是通過CRC32計算的。花了一兩個小時才發現文件不一致的問題。奇怪的是,我們都是從git拉取的文件,為什么我的文件會不一致呢?我懷疑可能是文件換行符的問題,于是將那些SQL文件的換行符全部改成了CRLF(Windows中的換行符),結果項目居然能夠運行了。關于為什么git拉取的文件換行符會不一致的原因是:他們使用的是TortoiseGit(小烏龜)這種可視化工具,而我使用的是命令行工具。可視化工具自動配置了文件換行符的自動轉換(這是git的一個智能功能,上傳時將文件換行符替換為LF,下載時再替換為CRLF,這樣保證中心倉庫使用unix風格的換行符,而本地能夠根據運行環境使用相應的換行符風格),但命令行工具并沒有配置這種轉換。

解決這個問題的方法也很簡單,就是開啟git的自動轉換功能。

代碼語言:JavaScript 代碼運行次數:0

運行 復制 “`javascript git config –global core.autocrlf true //開啟換行符自動轉換 git config –global core.safecrlf true //禁止混用換行符 “`

相關閱讀

主站蜘蛛池模板: 小视频在线观看免费播放 | 亚洲国产综合自在线另类 | 羞羞视频免费网站在线 | 性视频网站在线 | 在线视频国产一区 | 成人精品区 | 亚洲国产欧美国产综合一区 | 亚洲国产午夜看片 | 欧美日本在线视频 | 亚洲阿v天堂最新版2021 | 国产色网址 | 男人天堂2019 | 九九视频在线观看视频 | 综合久久久久6亚洲综合 | 在线亚洲免费 | 久久国产精品一区二区三区 | 自拍偷拍亚洲图片 | 五月婷婷丁香色 | 亚洲国产成人精品女人久久久 | 羞羞视频在线 | 中文字幕久久精品 | 国产黄色小视频 | 午夜免费福利 | 久久精品久久久久 | 亚洲成年人在线 | 99热精品在线观看 | 国产亚洲女人久久久久久 | 中文字幕欧美在线 | 高清性色生活片欧美 | 日韩黄色在线观看 | 麻豆精品久久久一区二区 | 国产日本欧美在线观看乱码 | 自拍偷拍导航 | 玖玖爱国产| 色播影院性播免费看 | 久久国产精品高清一区二区三区 | 国产午夜亚洲精品理论片不卡 | 久热这里只有精品在线 | 日本在观线免费观看 | 伊人久久婷婷丁香六月综合基地 | 国产成人精品免费 |