# .gitignore --- 初學者在處理API時,時常將API Key直接放入Xcode專案中,但這種做法非常不安全。若專案是公開的,有心人可能有機會濫用這個key去存取您個人資料。 為防止這種情況,開發者使用.gitignore文件。它可以指定Git忽略特定文件,避免**機密資料**被提交到版本控制系統。 然而,.gitignore只是想辦法保密的一部分。開發者還應考慮使用環境變數或加密的密鑰管理服務等進階方法。 採取這些措施可有效降低資訊洩露風險,同時維持良好的開發實踐。 ---  ### **.gitignore** 是什麼? **.gitignore** 是一個用於 Git 版本控制系統(Version Control)的特殊文件。 它的主要功能是告訴 Git 哪些文件和目錄應該被忽略,不會被git追蹤。 這不僅僅是為了**”不給人家看”**,還有其他重要原因: 1. 保護個資: 例如 Personal token, API key不會被加入git裡面。 2. 避免過多不必要的文件: 有時候我們會有一些自動生成的檔案,這時候是可以包在裡面的,避免檔案過多。 之前有看到[**彼得潘**](https://medium.com/%E5%BD%BC%E5%BE%97%E6%BD%98%E7%9A%84-swift-ios-app-%E9%96%8B%E7%99%BC%E5%95%8F%E9%A1%8C%E8%A7%A3%E7%AD%94%E9%9B%86/%E5%88%A9%E7%94%A8-run-script-%E5%92%8C-gitignore-%E7%AE%A1%E7%90%86-api-key-%E9%98%B2%E6%AD%A2%E5%AE%83%E4%B8%8A%E5%82%B3%E5%88%B0-github-c84ce81cf010)分享過一篇文章,用Google AI SDK for Swift,並且用Run script的方式,可以直接防止API key上傳到GitHub,這是一個蠻省事、方便的作法。 另外一個作法,就是用Command line tool(我們在MacOS裡面叫Terminal)去做Version Control。 --- 由於我之前有做一個side project: [**Drink Order App**](https://medium.com/%E5%BD%BC%E5%BE%97%E6%BD%98%E7%9A%84-swift-ios-app-%E9%96%8B%E7%99%BC%E6%95%99%E5%AE%A4/hw-50-drink-order-app-1-get-6d4f7566c6f5),但我沒有做好Version Control,因此API Key就赤裸裸地展露在外面,所以我以修改這個side project為範例作紀錄。  # 將 NetworkManager.swift 添加到 .gitignore 並停止追踪 由於我把這個檔案 NetworkManager.swift 的檔案放到 .gitignore 裡,以下是操作步驟: 1. 用 git clone 下載我做的 side project: ```bash git clone https://github.com/dwhao84/DrinkOrderApp.git ``` 2. 檢查 .gitignore 文件的内容: ```bash cat .gitignore ``` 3. 如果文件已经被 Git 追蹤的話,我會需要取消 git 的追蹤: (rm 就是 remove 的意思) ```bash git rm --cached DrinkOrderApp/Managers/NetworkManager.swift ``` 4. Commit 這個更改,並說明內容: ```bash git commit -m "從git中NetworkManager.swift" ``` 5. push 到 GitHub (Remote repository): ```bash git push origin main ``` 這樣就大功告成了~  --- ### Reference: [**【狀況題】有些檔案我不想放在 Git 裡面... - 為你自己學 Git | 高見龍** ](https://gitbook.tw/chapters/using-git/ignore) [**利用 Run Script 和 .gitignore 管理 API key,防止它上傳到 GitHub**](https://medium.com/%E5%BD%BC%E5%BE%97%E6%BD%98%E7%9A%84-swift-ios-app-%E9%96%8B%E7%99%BC%E5%95%8F%E9%A1%8C%E8%A7%A3%E7%AD%94%E9%9B%86/%E5%88%A9%E7%94%A8-run-script-%E5%92%8C-gitignore-%E7%AE%A1%E7%90%86-api-key-%E9%98%B2%E6%AD%A2%E5%AE%83%E4%B8%8A%E5%82%B3%E5%88%B0-github-c84ce81cf010)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up