合併衝突 Merge Conflict
合併衝突是 Git 無法安全地自動合併彼此衝突的變更,必須由人或工具決定最後要保留的內容。
↗認識如何記錄程式碼變更、和團隊合作、檢查更新,並安全發布。
開啟一個術語,就能看簡單解釋、例子、使用時機、正式程度和程式名稱。
合併衝突是 Git 無法安全地自動合併彼此衝突的變更,必須由人或工具決定最後要保留的內容。
↗Pull Request 會提出一組可審查的變更;程式碼審查會檢查內容,持續整合(CI)則自動建置和測試該版本。
↗金絲雀部署會先讓少量真實使用者或流量使用新版。觀察結果用來決定要擴大還是停止。
↗持續整合(CI)是經常把小型變更整合進共用程式碼,再用可重複的自動化檢查驗證。
↗容器映像檔是用來建立容器的分層套件。建置完成後,裡面的內容就會固定。
↗容器登錄是保存和分享映像檔的服務。裡面的 repository(存放庫)會把相關映像檔放在一起。
↗容器編排會自動管理多台機器上的容器工作。它會安排位置、維持指定數量、替換故障項目,並連接服務。
↗基礎設施即程式碼會用機器能讀的檔案管理基礎設施,不只靠人手點選。團隊可以版控、審查、測試和套用這些檔案。
↗軟體發布版本是經過準備並刻意提供給使用者的版本。它包含可確認的檔案、版本說明、來源紀錄和支援範圍。
↗這套交付做法會讓測試過的版本依序通過彼此隔離的環境,並保留安全回到先前狀態的方法。
↗部署回滾是發布失敗或不安全後的復原方式。它會用受控方式,恢復已知正常的版本和相容狀態。實際步驟依部署平台和資料變更而不同。
↗部署環境是軟體執行的具名位置或階段。它有自己的設定、憑證、保護規則、部署歷史和運作狀態,不是 Git 物件。
↗滾動部署會分批用新版應用程式替換舊版。每一步只更換執行群組的一部分,因此新舊版本可能同時存在。
↗壓整提交(Squash Commit)會把多筆提交的變更合成一筆新提交,通常透過互動式變基或合併規則完成。
↗應用程式容器是從容器映像檔建立的執行個體。啟動後,它會依指定設定和限制,執行隔離的程序。
↗藍綠部署會把目前版本和新版放在兩套分開的環境。新版檢查完成後,流量才會切換過去。
↗Detached HEAD(游離狀態)是 Git 的 HEAD 直接指向某筆提交,而不是指向分支名稱。
↗Git Worktree 是連到同一儲存庫的另一個資料夾。它讓多個分支可同時保持開啟。
↗Git 分支是有名稱、可以移動的指標,會指向某筆提交。在目前分支建立新提交時,指標就會往前移動。
↗Git Merge 會合併分支歷史。Git 可直接前移指標,也可在解決衝突後建立 Merge Commit。
↗.gitignore 會列出 Git 不追蹤的路徑模式。這些檔案通常不會出現在狀態或新 Commit。
↗Git Pull 先取得遠端更新,再用 Merge 或 Rebase 把指定上游分支接到目前分支。
↗Git Diff 顯示兩個 Git 狀態之間的精確內容變更。它可比較工作檔、Index、Commit 或分支。
↗Git Push 把本機 Git 資料送到遠端儲存庫。它會要求遠端更新指定分支或參照。
↗Git 提交物件是不能直接修改的保存紀錄。它包含檔案樹、父提交、作者與提交者資訊和訊息,識別碼則由內容算出。
↗Git 遠端是有名稱的設定,會把本機儲存庫連到另一個儲存庫網址,供取得變更使用,也可選擇用來推送變更。
↗Git Stash 會暫時儲存選定的未提交工作樹和索引變更。多組內容會排成堆疊,稍後可還原。
↗Git 標籤是指向某個確切物件的名稱,常用來標記發布提交。註解標籤還能保存建立者、訊息、日期和簽章。
↗Git Clone 會建立儲存庫的本機副本。它複製物件和參照、設定遠端,也取出工作檔案。
↗Git 儲存庫會用 Git 物件、參照和設定保存專案的版本歷史,也可能包含暫存區和工作檔案。
↗Git Bisect(二分查找)會用二分搜尋檢查提交歷史,找出某個可重現行為第一次改變的提交。
↗Git Blame(行級來源)會顯示檔案每一行最近由哪筆提交修改,可作為了解這行歷史的起點。
↗Git Cherry-pick(挑選套用)會把指定提交帶來的變更,複製到目前分支,並在這裡建立新的提交紀錄。
↗Git Fetch 會從另一個儲存庫下載提交和參照,更新遠端追蹤名稱,但不會把這些變更合併到目前分支。
↗Git Hook(鉤子)是 Git 在開發者電腦或伺服器的特定步驟中,自動執行的程式。它可以檢查、擋下或自動完成一項操作。
↗Git LFS 是管理大型檔案的擴充功能。Git 只保存小型指標檔,完整檔案則由另一個 LFS 服務儲存和傳送。
↗Git Rebase(變基)會把一串提交紀錄(commit)移到另一個起點。Git 會重新套用變更,因此每筆提交都會有新的識別碼。
↗Git Reset(重設)會把目前分支的指標移到另一筆提交。依照使用模式,它也可能一起改變暫存區和工作檔案。
↗Git Revert(反向提交)會建立一筆新提交,用相反的變更撤銷舊提交,同時保留原本的歷史紀錄。
↗Git Submodule(子模組)讓一個儲存庫指向另一個 Git 儲存庫中的確切提交,父層儲存庫也會保存它的位置設定。
↗這組教學連結四個 Git 概念。Git 是版本控制系統;Repository 儲存物件和參照;Branch 替一條工作線命名;Commit 則用中繼資料記錄專案狀態。這個組合不是單一 Git 術語。
↗Pull Request(拉取請求)是程式碼代管平台上的協作紀錄,用來請大家審查某個分支的變更,再決定是否整合進目標分支。
↗