搜尋

首頁  >  問答  >  主體

使用 git 向oschina push 程式碼,一直提示其中一個日誌檔過大,可是那個日誌檔我已經刪除了啊?

1.之前在專案中commit 了一個.log 文件(140M左右),然後push 到git.oschina的時候被提示文件過大不能push,然後我就用電腦鍵盤的'delete '鍵刪除了這個文件,並在此commit 然後push ,還是報一樣的錯誤

给我你的怀抱给我你的怀抱2886 天前807

全部回覆(3)我來回復

  • 为情所困

    为情所困2017-05-02 09:31:14

    單純的新增一個commit或者commit --amend,只是從當前版本中刪除了這個文件,歷史提交中仍然記載有你添加這個文件以及刪除這個文件的全過程。
    如果要從版本庫中徹底移除這個文件,必須改寫歷史中存在這個文件的所有提交。

    要改寫歷史,可以用git filter-branch,具體可以看​​Github上的教學。 git filter-branch,具体可以看Github上的教程。
    当然对于简单的情况,你也可以选择git resetgit rebase當然對於簡單的情況,你也可以選擇git resetgit rebase

    補充:git rm file.log相当于rm file.log && git add file.log,題主都已經把文件刪除並提交了,不懂的不要亂答了好不好…

    回覆
    0
  • 为情所困

    为情所困2017-05-02 09:31:14

    使用git rm來刪除

    回覆
    0
  • 怪我咯

    怪我咯2017-05-02 09:31:14

    git rm --cached <filename> 

    然後再重新進行 add commit 等操作
    題主之後可以在 .gitignore 文件裡忽略.log檔
    不然每次生成都要刪掉太麻煩了

    回覆
    0
  • 取消回覆