2014-01-11 39 views
0

所以我想同時使用GitHub和Bitbucket作爲回購(取決於我想要的東西是公共還是私有),我的很多工作還包括LaTeX工作(所以有.tex,.png和.pdf文件)作爲以及速度測試(所以我可能有.csv和.Rdata文件)。在Git存儲庫中提交什麼類型的文件而忽略?

我有一個很難確定哪些類型的文件,應使他們進入我的回購對應該鏈接到README.mds內。

沒有人有任何簡單的哲學或硬和快速的規則,他們想與大家分享?

+0

大部分時間忽略生成的文件。 –

+0

忽略包含敏感數據(如DB憑證)的配置文件。 – awei

+0

同意馬特鮑爾,但包括「大部分時間」。對於很少更改需要特殊工具重新生成的生成文件,制定例外可能更合適。 – hvd

回答

1

通常會忽略二進制文件,尤其是大文件。 Git不會像SVN那樣執行大文件或二進制文件跟蹤。

如果必須,異常可以對小文件進行(即PNG的),只要它們不改變太多。

+0

我是新手。你能告訴我什麼時候我知道什麼是二進制文件嗎?例如,是否生成.pdf的二進制文件? – StevieP

+2

'file -b -i file_name'是一個很好的linux/mac命令行命令,它應該返回文件的MIME類型。來源:[LINUX +識別二進制文件(http://superuser.com/questions/185542/linux-identify-binary-file) 一般情況下,它會告訴你,當你在處理文本/ ASCII文件。你可以(幾乎)假定其他任何東西都是二元的。 –

3

通常你會希望你的回購只包含從一切可自動生成的文件。例如,如果它是C程序,則需要*.c*.h文件,以及任何Makefile,但不包括目標文件和可執行文件。這個想法是有人可以克隆你的回購,遵循你的構建指令,並重新創建使用你的項目所需的一切。

文本與二進制並不總是遵循的最佳規則。例如,自動生成的.png圖像文件不需要位於回購站中,但如果它是手動生成的圖標文件(並且您的程序依賴於該文件),則它應該位於回購站中。

這不是一條硬性規定。有時包括生成的二進制文件可能會很方便。例如(假設一個應用程序),如果您打包安裝應用程序分成,也就是說,一個.zip.tgz,或.msi文件,這是合理的規定,在回購(可能在一個單獨的目錄)。如果您包含的應用程序類似當前版本的版本,請確保在您提交和推送之前它是最新版本。