GIT筆記:拋棄所有歷史版本,只保留當前最新版本

有時候看到GIT的分支上面一堆歷史版本,眼睛不僅難受,心裡還會不斷地犯嘀咕:「最好有人會想起來三年前做了某個改動、兩年前某改動又被改成另外一個改動啦!」,當真的有追朔歷史的時刻來臨時,這些追朔的動作大都跟實際必須進行的事務無關(例如修正程式碼),反而跟程式設計師的辛酸血淚故事比較有關。

總之,看不順眼的雜亂版本想要一律把它清除,對於GIT進行差異計算時也比較有效率一些。

消除歷史只保留現有版本

請依照下列指令服用即可:

Step 1. 到Repository所在的目錄下

Setp 2. 創造並切換到新分支

git checkout --orphan masterLatest

Step 3. 把當前所有的文件都加進來,並給予註解

git add -A
git commit -am "Init"

Step 4. 把master分支砍掉

git branch -D master

Step 5. 把當前masterLatest名字改回master

git branch -m master

Step 6. 強制更新Repository

git push -f origin master

Visual Studio Team Explorer GIT 修正

若你的GIT已經綁定Visual Studio透過Team Explorer操作推送之類的動作,透過上面的操作後介面將會警告你此分支未追蹤遠端存放庫分支,會有這樣的訊息其實是Visual Studio偵測到你有開一個新的分支且名稱為master,但是最後一次推送的版本號與紀錄上的不一樣,因此拒絕推送或同步。

正確的做法是進入到Team Explorer介面後,如下圖依序點選ICON:

  1. 擷取
  2. 推送
  3. 同步(提取後推送)

git 版本控制 推送 簽入 歷史 移除 刪除 rebase