git 撤銷提交的檔案
一、問題
近期在使用git時遇到一個問題,就是在git上傳檔案時,將一個100兆的大檔案新增到了git,並執行了push操作,這時在上傳完畢後,會提示這個錯誤
Large files detected this is larger than GitHubs recommended maximum file size of 50MB
即git無法上傳超過50M的單個檔案。
如果未push,可通過git commit --amend命令修復,下面2.6有將如何使用。
二、解決辦法
解決辦法是通過git reset HEAD~1方式撤銷該版本的檔案提交,之後的版本檔案保留,但需重新新增一次,具體使用舉例如下
1、建立一個本地git專案
使用git clone 命令,建立一個本地git專案 如
2、專案中新增檔案
2.1在專案目錄下新增1.txt檔案,執行add和commit操作,具體如下
2.2 在專案目錄下新增大檔案(100多M),執行add和commit操作,具體如下
2.3 在專案目錄下繼續新增檔案,執行add和commit操作,具體如下
2.4執行git push 操作
由於2.2中的檔案超過50M,執行git push origin master命令之後,會出現文章開頭說的問題,這時候你會如果刪除了該大檔案,並git commit操作,在git push之後依然會上傳該大檔案。這樣就照成了每次都提交不了的問題,所以我們要做的是撤銷步驟2,並不影響步驟2後續的檔案。
2.5 撤銷步驟2的操作
使用命令git reset --mixed HEAD~2,回退到第一步,將步驟2取消掉,步驟3的檔案將會撤銷,變成等待新增,但不會丟失,我們只需要在add一次即可。
這時候我們發現,執行完該命令後任務回退到第一步操作,我們把剛才的大檔案給刪掉,然後執行新增命令
然後執行git push origin master 實現將後續檔案上傳。
2.6 忘記刪掉大檔案,又進行了commit操作之後的修復。
如果忘記刪掉大檔案,又直接commit了,但僅限於未push,可通過git commit --remond命令撤銷操作,具體如下
三、備註
關於git reset命令,包括 --mixed,--soft --hard等,其中--mixed為預設方式,他們之間的區別如下
git reset –mixed:此為預設方式,不帶任何引數的git reset,即時這種方式,它回退到某個版本,只保留原始碼,回退commit和index資訊 git reset –soft:回退到某個版本,只回退了commit的資訊,不會恢復到index file一級。如果還要提交,直接commit即可 git reset –hard:徹底回退到某個版本,本地的原始碼也會變為上一個版本的內容
git reset -soft :取消了commit git reset -mixed(預設) :取消了commit ,取消了add git reset -hard :取消了commit ,取消了add,取消原始檔修改參考文章
相關推薦
git 撤銷提交的檔案
一、問題 近期在使用git時遇到一個問題,就是在git上傳檔案時,將一個100兆的大檔案新增到了git,並執行了push操作,這時在上傳完畢後,會提示這個錯誤 Large files detected this is larger than GitHubs recommended ma
git 忽略提交檔案設定(.gitignore配置)
操作前提 : 已經安裝好了 git 操作方式 在專案根目錄 按住 shift + 右鍵, 選擇 Git Bash Here,開啟 Git 命令控制檯 使用命令在專案根目錄下 新建一個 .gitignore檔案 命令: touch .gitignore (注意: 這裡的
git 忽略提交檔案.gitignore
## .gitignore for Grails 1.2 and 1.3 # .gitignore for maven target/ *.releaseBackup # web application files #/web-app/WEB-INF # IDE suppo
git 提交檔案撤銷操作
1. git add 新增 了多餘檔案 (只是add了,還沒有commit)撤銷步驟:git status 檢視add 的檔案 git reset HEAD XXX/XXX/XXX.java 對某個檔案進行撤銷git reset HEAD 撤銷上次所有的add檔案2. git
Git 本地提交時,忽略特定檔案或目錄
https://blog.csdn.net/huzhenwei/article/details/7426093 在將某個目錄新增到git版本庫、或提交某個git版本庫的改動時,可能希望忽略掉一些檔案或目錄(如編譯時生成的.o、.a檔案等),可以修改.git/info/exclude檔案來實現。
git忽略某些檔案提交
在專案中有些配置檔案不需要提交,但是有同學在後面開發中發現在.igonore檔案中無論如何都無法忽略某些檔案的提交。原因在這裡: 已經維護起來的檔案,即使加上了gitignore,也無濟於事。—- 那麼如何解決呢?方式如下 git update-index --assume-un
git之撤銷提交內容
前言 本解決方案,只適合最近一個提交或者撤銷commit的內容之後的提交內容你不需要。 問題 把兩個commit之後的程式碼提交到git服務,git服務拒接接受提交,原因是第一個commit中有一個超過100M的檔案。如何撤銷commit之後的內容 失敗的
Git中撤銷提交 Git中撤銷提交
Git中撤銷提交 Git的幾種狀態 未修改 工作區 已修改 ↓ 工作區 已暫存 ↓ 暫存區 已提交 ↓ 本地倉庫 已推送 ↓
Git 撤銷所有未提交(Commit)的內容
擼了好多程式碼,但是突然設計改了(o(>_<)o );或者引入個第三方庫,後來又發現用不著,想刪掉,但檔案太多了(比如幾百個);那,怎麼辦呢,都不想了...Git 比人聰明,所以能很方便的幫我們解決問題。 場景一 需要撤銷的內容檔案屬於未跟蹤的狀態。如下
Git撤銷對遠端倉庫的push提交
1. 執行 git log檢視日誌,獲取需要回退的版本號 2. 執行 git reset –soft <版本號> ,如 git reset -soft 4f5e9a90edeadcc45d85f43bd861a837fa7ce4c7 ,重置至指定版本的提交,達到撤銷提交的目的 然後執行 gi
git add提交後撤銷 ,出現git add Untracked files
復制 硬盤 恢復 inf info 右鍵 git 出現 分享圖片 在使用git add . 或git add filename 提交至本地緩存後, 使用 git status 查看提交狀態 若提交錯誤,需要撤銷, 使用 git reset --hard命令,但整個代碼回
git撤銷已經push的提交
簡要版: 1. git log 2. git reset --soft 43dc0de914173a1a8793a7eac31dbb26057bbee4 3. git push origin master --force 詳細版: 1. 使用g
git專案提交以後新增或者修改忽略檔案無效的解決辦法
一、git專案提交以後新增或者修改忽略檔案無效的解決辦法。 首先為避免衝突需要先同步下遠端倉庫,這裡以develop分支為例 git pull origin develop 在本地專案目錄下刪除快取 git rm -r --cached . 新建.gitigno
git程式碼提交時二進位制檔案衝突
如題。 問題背景: 開發中遇到了一個奇怪的問題–除錯時的App正常,但是程式碼上傳後通過伺服器打包後的App執行不正常。由於無法除錯,所以只能通過加log的方式定位問題。後來發現加的log並沒有輸出,忽
git檢視單個檔案提交記錄
Git 基礎 - 檢視提交歷史 檢視提交歷史 在提交了若干更新,又或者克隆了某個專案之後,你也許想回顧下提交歷史。 完成這個任務最簡單而又有效的工具是 git log 命令。 接下來的例子會用我專門用於演示的 simplegit 專案, 執行下面的命令獲取該專案
使用Git將本地檔案提交到遠端倉庫
一 操作準備條件: git遠端倉庫已經建好了,本地檔案已經存在了,現在要將原生代碼推到git遠端倉庫儲存。 解決辦法如下: 1、(先進入專案資料夾)通過命令 git init 把這個目錄變成git可以管理的倉庫 git init 2、把檔案
git知識總結2——建立版本庫,新增/提交檔案
1.建立版本庫 版本庫又名倉庫,英文名repository,你可以簡單理解成一個目錄,這個目錄裡面的所有檔案都可以被Git管理起來,每個檔案的修改、刪除,Git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以“還原”。 首先,選擇一個合適的地方,建立一個空目錄 cd 命令用於切
Git 撤銷中間某次的提交記錄
今天遇到一個問題,一週前一位同事把非釋出程式碼合併到釋出分支上並已釋出線上,在這個提交點後已經有了很多次的提交記錄,所以不能直接回滾,使用到了gIt提供的revert。以此記錄。 git revert commit_id //如果commit_id是merge節點的話,-m是指定具體哪個提交點 git
Git撤銷已經推送(push)至遠端倉庫的提交(commit)資訊
有時,在git push之後,才發現還有一些程式碼需要進行很小的改動,這些改動在原則上不應該作為一次新的提交。 這時,我們需要撤銷這次推送(git push)與提交(git commit),然後進
git提交檔案的操作
git提交檔案的操作() 1、新建一個資料夾 2、初始化這個資料夾//git init 3、設定簽名,三個級別 當前專案&nbs