Git 忽略一些文件不加入版本控制

本文部分參考:http://blog.csdn.net/xmyzlz/article/details/8592302

1.修改 .gitignore 文件

在git中如果想忽略掉某個(gè)文件,不讓這個(gè)文件提交到版本庫中,可以使用修改 .gitignore 文件的方法。
舉例:.gitignore文件內(nèi)容如下:
# Android generated
bin/
gen/
classes/
gen-external-apklibs/

# Ant
local.properties

# Maven
target/
release.properties

# Eclipse
.classpath
.project
.externalToolBuilders/
.metadata
.settings

# IntelliJ
*.iml
*.ipr
*.iws
.idea/
out/

# Mac
.DS_Store

# gitignore
.gitignore 

2.使用命令

.gitignore只能忽略那些原來沒有被track的文件,如果某些文件已經(jīng)被納入了版本管理中,則修改.gitignore是無效的。
正確的做法是在每個(gè)clone下來的倉庫中手動(dòng)設(shè)置不要檢查特定文件的更改情況。
git update-index --assume-unchanged FILE 在FILE處輸入要忽略的文件。
如果要還原的話,使用命令:
git update-index --no-assume-unchanged FILE

3.使用.git/info/exclude

git 還提供了另一種 exclude 的方式來做同樣的事情,不同的是 .gitignore 這個(gè)文件本身會(huì)提交到版本庫中去。用來保存的是公共的需要排除的文件。而 .git/info/exclude 這里設(shè)置的則是你自己本地需要排除的文件。 他不會(huì)影響到其他人。也不會(huì)提交到版本庫中去。
舉例:


    # git ls-files --others --exclude-from=.git/info/exclude
    # Lines that start with '#' are comments.
    # For a project mostly in C, the following would be a good set of
    # exclude patterns (uncomment them if you want to use them):
    # *.[oa]
    # *~
    .gradle/
    .idea/
    .settings/
    appcompat_v7/
    bin/
    build/
    gen/
    gradle/
    out/
    proguard/
    ship/
    target/
    .classpath
    .gitignore
    .idea
    .project
    .readme
    .update-config
    *.iml
    local.properties

.gitignore 還有個(gè)有意思的小功能, 一個(gè)空的 .gitignore 文件 可以當(dāng)作是一個(gè) placeholder 。當(dāng)你需要為項(xiàng)目創(chuàng)建一個(gè)空的 log 目錄時(shí), 這就變的很有用。 你可以創(chuàng)建一個(gè) log 目錄 在里面放置一個(gè)空的 .gitignore 文件。這樣當(dāng)你 clone 這個(gè) repo 的時(shí)候 git 會(huì)自動(dòng)的創(chuàng)建好一個(gè)空的 log 目錄了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容