Ads 468x60px

##EasyReadMore##

04 12月, 2017

Git 忽略已经被提交的文件

  正確的做法應該是:

git rm --cached logs/xx.log,然後更新.gitignore忽略掉目標文件,最後git commit -m "We really don't want Git to track this anymore!"
針對 untrack 的檔案或目錄:
vim .gitignore
logs/*.log
logs/
/logs/

針對 track 的檔案或目錄:

# 不想刪除本地的文件, 只是想讓git不再track, 這時可以使用 
(注意: commit 是會有紀錄的,push 上去 server 上的 code 也會被刪除)
#文件 
$ git add logs/*.log
$ git rm --cached logs/*.log
$ git commit -m "Don't track log files any more!"

# 目錄
$ git add logs/
$ git rm -r --cached logs/
$ git commit -m "Don't track logs directory any more!"

# 不追蹤檔案
git rm --cached logs/xx.log

# 不追蹤整個資料夾
git rm -r --cached folder

不想刪檔,又不想刪 server 上的檔(這不是一個長久之計):

git update-index --assume-unchanged 的真正用法是這樣的:
  1. 你正在修改一個巨大的文件,你先對其 git update-index --assume-unchanged,這樣 Git 暫時不會理睬你對文件做的修改;
  2. 當你的工作告一段落決定可以提交的時候,重置改标識:git update-index --no-assume-unchanged,于是 Git 只需要做一次更新,這是完全可以接受的了;
  3. 提交+推送。

Refer:

  git 已提交文件的 如何屏蔽git的track - 壹讀 - https://goo.gl/oPnAJA
  gitignore忽略已提交的目录或者文件 - 歪麦博客 - https://goo.gl/RcHLoL
git忽略已经被提交的文件 - SegmentFault - https://goo.gl/b8kK5U

0 意見:

張貼留言

 
Blogger Templates