Git管理修正(取消跟蹤、合并commit)

來源:互聯網
上載者:User

標籤:git   管理   

本文總結了最近使用Git時候遇到的兩個問題:
1. 當將不必要跟蹤的檔案加入到倉庫後如何處理?
2. 提交了多個功能相同的commit後如何處理?

總結經驗
  1. 在建立倉庫的一開始,就要設定號.gitignore檔案,用於過濾掉不需要跟蹤的檔案和檔案夾
  2. 謹慎提交commit,確保每個commit中所有的改動都是跟同一個任務相關的。
我是怎麼解決上述兩個問題的1. 移除對檔案/檔案夾的跟蹤,但不刪除
  • 使用命令git rm --cached ignore_target_file 刪除對某個檔案的跟蹤
  • 建立.gitignore檔案,使用下列規則添加要忽略的檔案或者檔案
    • 所有空行或者以注釋符號 # 開頭的行都會被 Git 忽略。
    • 可以使用標準的 glob 模式比對。
    • 匹配模式最後跟反斜線(/)說明要忽略的是目錄
  • 舉例,我的.gitignore檔案內容如下
# 忽略.gitignore檔案.gitignore# 忽略.idea/檔案夾.idea/# 忽略target/檔案夾target/

執行移除,建立.gitignore檔案之後,再次git status就可以看到,這些討厭的多餘檔案已經不被跟蹤了。什麼樣的檔案需要被忽略?編譯產生的檔案夾,如target目錄;機器自動產生的,我們不會手動修改的隱藏檔案,如.idea目錄;中間檔案,例如java項目中的.class檔案。

2. 合并多個相似的commit
  • git rebase -i HEAD~4
  • 將除了第一行(最老的那個commit)之外的行首的pick全部換成squash
  • :wq儲存並推出
  • 修改最新的commit message即可
參考資料
  1. Git基礎–記錄每次更新到倉庫
  2. Git使用規範流程

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

Git管理修正(取消跟蹤、合并commit)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.