How to let git ignore some commited file

隨之而來的問題是:為什么我增加了 .gitignore 里的規(guī)則卻沒有效果?
這是因?yàn)槲覀冋`解了 .gitignore 文件的用途吆玖,該文件只能作用于 Untracked Files,也就是那些從來沒有被 Git 記錄過的文件(自添加以后马篮,從未 add 及 commit 過的文件)沾乘。

1. git rm --cached logs/xx.log // if file is traced
2. 然后更新 .gitignore 忽略掉目標(biāo)文件,
3. 最后 git commit -m "We really don't want Git to track this anymore!"

之所以你的規(guī)則不生效积蔚,是因?yàn)槟切?.log 文件曾經(jīng)被 Git 記錄過意鲸,因此 .gitignore 對它們完全無效。這也正是開頭那段簡短答案所做的事情:

1. 從 Git 的數(shù)據(jù)庫中刪除對于該文件的追蹤尽爆;
2. 把對應(yīng)的規(guī)則寫入 .gitignore怎顾,讓忽略真正生效;
3. 提交+推送漱贱。

最后有一點(diǎn)需要注意的槐雾,git rm --cached 刪除的是追蹤狀態(tài),而不是物理文件幅狮;如果你真的是徹底不想要了募强,你也可以直接rm+忽略+提交

About Another Command

git update-index --assume-unchanged logs/*.log的真正用法是這樣的:

你正在修改一個巨大的文件崇摄,你先對其 git update-index --assume-unchanged擎值,這樣 Git 暫時不會理睬你對文件做的修改;
當(dāng)你的工作告一段落決定可以提交的時候逐抑,重置改標(biāo)識:git update-index --no-assume-unchanged鸠儿,于是 Git 只需要做一次更新,這是完全可以接受的了厕氨;
提交+推送进每。
另外,根據(jù)文檔的進(jìn)一步描述:

This option can be also used as a coarse file-level mechanism to ignore uncommitted changes in tracked files (akin to what .gitignore does for untracked files).

這段描述告訴我們兩個事實(shí):

雖然可以用其來達(dá)成樓主想要的結(jié)果命斧,但這是不講究的做法(coarse)田晚;
同樣的事情更應(yīng)該用 .gitignore 文件來實(shí)現(xiàn)(針對未追蹤的文件)。

git update-index --assume-unchanged logs/*.log雖然能達(dá)到(暫時的)目的国葬,但并非最正確的做法贤徒,這樣做是誤解了 git update-index 的含義,而且這樣做帶來的最直接(不良)后果是這樣的:

所有的團(tuán)隊(duì)成員都必須對目標(biāo)文件執(zhí)行:
git update-index --assume-unchanged <PATH>汇四。
這是因?yàn)榧词鼓阕?Git 假裝看不見目標(biāo)文件的改變泞莉,
但文件本身還是在 Git 的歷史記錄里的,
所以團(tuán)隊(duì)的每個人在 fetch 的時候都會拉到目標(biāo)文件的變更船殉。
(但實(shí)際上目標(biāo)文件是根本不想被 Git 記錄的鲫趁,
而不是假裝看不見它發(fā)生了改變)
一旦有人改變目標(biāo)文件之后沒有
 git update-index --assume-unchanged <PATH> 就直接 push 了,
那么接下來所有拉取了最新代碼的成員必須重新執(zhí)行 update-index利虫,
否則 Git 又會開始記錄目標(biāo)文件的變化挨厚。
這一點(diǎn)實(shí)際上很常見的,比如說某成員換了機(jī)器或者硬盤糠惫,重新 clone 了一份代碼庫疫剃,
由于目標(biāo)文件還在 Git 的歷史記錄里,
所以他/她很可能會忘記 update-index硼讽。

reference

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末巢价,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌壤躲,老刑警劉巖城菊,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異碉克,居然都是意外死亡凌唬,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進(jìn)店門漏麦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來客税,“玉大人,你說我怎么就攤上這事撕贞「埽” “怎么了?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵捏膨,是天一觀的道長秧均。 經(jīng)常有香客問我,道長脊奋,這世上最難降的妖魔是什么熬北? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮诚隙,結(jié)果婚禮上讶隐,老公的妹妹穿的比我還像新娘。我一直安慰自己久又,他們只是感情好巫延,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著地消,像睡著了一般炉峰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上脉执,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天疼阔,我揣著相機(jī)與錄音,去河邊找鬼半夷。 笑死婆廊,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的巫橄。 我是一名探鬼主播淘邻,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼湘换!你這毒婦竟也來了宾舅?” 一聲冷哼從身側(cè)響起统阿,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎筹我,沒想到半個月后扶平,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡崎溃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年蜻直,在試婚紗的時候發(fā)現(xiàn)自己被綠了盯质。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片袁串。...
    茶點(diǎn)故事閱讀 38,625評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖呼巷,靈堂內(nèi)的尸體忽然破棺而出囱修,到底是詐尸還是另有隱情,我是刑警寧澤王悍,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布破镰,位于F島的核電站,受9級特大地震影響压储,放射性物質(zhì)發(fā)生泄漏鲜漩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一集惋、第九天 我趴在偏房一處隱蔽的房頂上張望孕似。 院中可真熱鬧,春花似錦刮刑、人聲如沸喉祭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽泛烙。三九已至,卻和暖如春翘紊,著一層夾襖步出監(jiān)牢的瞬間蔽氨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工帆疟, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鹉究,地道東北人。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓鸯匹,卻偏偏與公主長得像坊饶,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子殴蓬,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,492評論 2 348

推薦閱讀更多精彩內(nèi)容

  • git常用命令 GIT常用命令備忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章閱讀 8,458評論 1 26
  • Git 基礎(chǔ) 基本原理 客戶端并不是只提取最新版本的文件快照匿级,而是把代碼倉庫完整的鏡像下來蟋滴。這樣一來,任何一處協(xié)同...
    __silhouette閱讀 15,860評論 5 147
  • Git 命令行學(xué)習(xí)筆記 Git 基礎(chǔ) 基本原理 客戶端并不是只提取最新版本的文件快照痘绎,而是把代碼倉庫完整的鏡像下來...
    sunnyghx閱讀 3,907評論 0 11
  • 理解OAuth 2.0
    abyte閱讀 130評論 0 0
  • 第一個本命年 我不知道世界是啥模樣 也許母親含著眼淚微笑 第二個本命年 我走在放學(xué)回家的鄉(xiāng)間小路上 時間凝滯津函,總想...
    沙泥文森閱讀 131評論 0 8