鍍金池/ 問答/Linux/ git 怎么保留當(dāng)前內(nèi)容的同時,刪除以前的提交記錄?

git 怎么保留當(dāng)前內(nèi)容的同時,刪除以前的提交記錄?

我有個遠(yuǎn)程倉庫,然后我在本地clone了下來,在本地提交了很多次。
提交歷史記錄里面有很多圖片(各種刪刪改改)。

我想問下,如果我push了,已經(jīng)刪除掉的圖片(曾經(jīng)commit到本地倉庫)會被記錄然后提交上去嗎?

有什么辦法在保留當(dāng)前倉庫狀態(tài)的同時,拋棄過往所有的commit記錄呢?

我的操作如下

  1. clone 遠(yuǎn)程倉庫到本地
  2. 本地倉庫添加了一堆圖片 ,add 然后commit到本地倉庫
  3. 本地倉庫刪除掉了圖片,add 然后commit到本地
  4. 這時候我push,那么第2步的添加的圖片會被提交的遠(yuǎn)程倉庫嗎?
回答
編輯回答
尐潴豬

git stash
Git reset --hard HEAD~2
Git stash pop

2018年6月18日 07:42
編輯回答
刮刮樂

rebase ??梢园岩郧暗腸ommit全部合并成一條

2018年6月29日 00:42
編輯回答
笨笨噠

會提交的遠(yuǎn)程倉庫的,本地怎么樣,提交之后,遠(yuǎn)程倉庫就怎么樣

2017年11月16日 00:36
編輯回答
來守候

會有提交記錄的。可以溯源,要想抹除記錄的話。。
可以了解一下rebase(盡量少用這個)

2017年10月3日 07:53
編輯回答
卟乖

有一個相對簡單的方法,如果你想合并最后兩次修改,

git reset --soft HEAD~2

然后再重新commit就可以了。

2018年4月9日 17:55