# Git 使用`--force`Push前要與開發團隊討論 > [name=Sharon Mai] [time=20230525, Thu] [color=#907bf7] ## ↪️總目錄:[Git and GitHub相關](https://hackmd.io/@ppp300a/git-github/%2FssEOYN1NRm-VsSgr_hnBcw) :::success 情境:Push推送成功後,又修改了本地端的Commit歷史紀錄並使用--force Push推送,於是覆蓋掉在GitHub上的Commit歷史紀錄。 ::: ## 命令說明 | 命令 | 說明 | | -------- | -------- | | `--force` | 告知Git強制接受更改 | ## 問題 導致開發同仁在Pull時,因Commit歷史紀錄不匹配而出現錯誤導致開發過程中斷。 ## 解決方式 > ==使用`--force`之前要跟開發團隊討論== ### 建立良好使用習慣 - 小心處理大型文件:在將文件添加到 Git 儲存庫之前,先確定其大小。如果文件太大(例如,超過 100 MB),可能需要使用 Git Large File Storage (LFS) 或其他方法來管理這些文件。 - 及時提交和推送:當完成一項工作或達到一個重要里程碑時,及時提交更改,並推送到遠程儲存庫。這樣可以避免本地儲存庫和遠程儲存庫之間產生大量的異步。 - 經常拉取:若正在與其他人共享一個儲存庫,則應該經常拉取遠程儲存庫的更改,以保持本地儲存庫的更新。 - 避免修改已推送的提交:盡量避免修改已經推送到遠程儲存庫的提交。若需要修改已推送的提交,則應該謹慎處理,並==事先與你的團隊溝通==。 - 敏感資訊使用 .gitignore 文件:如果有些文件或文件類型不應該被添加到 Git 儲存庫(例如,臨時文件,編譯產物,或者敏感資料等),那麼可以在 .gitignore 文件中指定這些文件或文件類型,Git 會自動忽略它們。 遵循這些最佳實踐可以更有效地使用 Git,並避免在將來遇到困難或錯誤。 ## 其他 - 本地端修改提交過的Commit尚未Push可以使用`--force`但==還是問一下開發團隊== - 使用原因: - Git的特性-推送失敗的記憶:Push失敗Git仍然記錄了推送的提交的歷史。 - 只要你確定你的修改不會影響其他人(例如,你是唯一一個使用這個儲存庫的人),那麼使用`--force`選項就是可以接受的。 :::danger 但建議還是從建立[良好使用習慣](#建立良好使用習慣)開始。 :::