2014-08-29 78 views
1

我正在爲某個存儲庫的Git拉取請求執行操作。我已經完成了典型的步驟:fork - >添加一些更改 - > commit - >推送到分叉的repo,然後創建一個PR。使用SCM時禁用代碼格式

我對Git非常熟悉,並且已經創建了許多PR,但是一個特定的項目開始導致一些格式問題。

當我推送更新分支並去github用戶界面來檢查我的PR更改時,我看到許多差異更改似乎與Intellij IDEA格式化我的代碼。這裏有一個示例: enter image description here

這些部分涉及哪些部分?爲什麼Intellij刪除一個並添加完全相同的一個,所以它被標記爲diff?

實際上,這些變化讓我的公關太難以閱讀,即使對我來說,我也確信項目所有者不會接受這樣的激情。

所以我的問題是,如何處理這種情況?我可以禁用代碼格式並在我的PR上工作嗎?還有其他提示嗎?

我正在向Intellij + Git專家解決我的問題,所以請建議是否有一些做法(好)我應該遵循。

問候。

+0

很多工具提供了一個選項來忽略空白變化。這可以被激活,以便能夠專注於重大變化。我會至少在表面上審查所有的空白變化。 – musiKk 2014-08-29 14:42:16

+0

你能列出其中一種工具嗎?這對我來說似乎太危險了,因爲我之前從事過很多公關活動,從未遇到過這樣的問題,因爲我一直設法將自己的標準規則調整到那些我將承諾的回購標準。 – tmarwen 2014-08-29 14:49:39

+0

我確定IDEA可以。除此之外:gitk,meld,Eclipse和許多git命令接受'-w'選項來完成這個任務。但我認爲我誤解了你的問題;這些選項對合並請求的人員很有用。你的問題更適合IDEA專家。 – musiKk 2014-08-29 14:59:36

回答

1

實際上,這不是IDE問題,所以Intellij IDE與它無關。 問題實際上是由於Git如何處理行結尾

經過一些SO職位,並試圖多種解決方案,我結束了@VonC suggestion禁用行結尾的修改和他說:

我就堅持不想要任何東西自動的轉換,將副作用只是太重要了(潛在的合併衝突來看,尤其是在不同環境下的分佈式開發)

所以下面簡單命令執行將防止從Git的任何變化:

git config --global core.autocrlf false 

然後不得不清理 (我選擇再次搶遠程分支一切從零開始,並用乾淨的工作拷貝開始)我的工作目錄。