我試圖理解為什么 git 開發人員為命令“git checkout”選擇“checkout”這個詞。將 checkout 一詞翻譯成葡萄牙語(我的母語)并沒有闡明“checkout”一詞的含義。雖然我了解該命令對我的 git 專案的影響,但如果該命令是 git abrakadabra,它對我來說聽起來是一樣的。
uj5u.com熱心網友回復:
檢出檔案的想法并非源自 Git。
在英語中(至少),當你從圖書館借一本書時,你被稱為“check the book out”:你從圖書館拿書,并承諾稍后歸還。當您擁有這本書時,沒有其他人可以使用這本書,因為它不再從圖書館中獲得。
其他源代碼控制系統的作業方式類似。簽出檔案意味著只有您可以編輯該檔案。任何其他試圖簽出檔案的人都必須等到您將其重新簽入才能對其進行編輯。
這種型別的獨占訪問不適用于 Git(作為分布式源代碼控制系統),但保留該術語來描述從存盤庫中選擇一個分支以填充作業目錄的想法(實際上,在一次編輯,直到您通過簽出另一個分支“將它們放回去”)。
uj5u.com熱心網友回復:
我將從我的原型書中復制一些。不過,這個術語并不是 Git 特有的(正如chepner 已經說過的)。
因此,[版本控制系統或] VCS 充當源檔案的資料庫,以某種方式檢索檔案的特定版本。該資料庫稱為存盤庫。當您添加源檔案的更新版本時,資料庫會將更新的源存盤在存盤庫中。檔案的每個版本也稱為修訂版,因此如果您修復拼寫錯誤并將更新后的檔案輸入存盤庫,您現在就有了該檔案的另一個修訂版。
用作動詞時,to version表示受 VCS 控制。用作名詞時,版本表示從 VCS(一個檔案或一組檔案)中獲取的特定版本。通常名詞形式帶有額外的修飾語,如短語舊版本的
kanga.c或版本 2.1 的roo.c. 如果沒有列出特定檔案,我們通常表示所有內容,或者至少是最近討論的所有內容:2.1 版(存盤庫中的所有內容,或我們正在討論的特定檔案和/或目錄)。這個詞的修訂始終是一個名詞,但在其他方面意味著同樣的事情版本。另一個動詞to check in表示存盤到 VCS 中。如您所料,如果我們可以簽入,我們也可以簽出,這意味著從 VCS 中提取。一些 VCS 將動詞添加到 update,它們可以用來區分提取舊版本(您檢出)和升級到最新和(我們希望)最好的(您更新的)。Mercurial 使用update作為checkout 的同義詞。
Check in有時會連字符(check-in),或者寫成一個詞,checkin。這些避免了歧義:我將簽入
roo.c(查看代碼以查看是否有小袋鼠進入)與我將簽入roo.c(以存盤新修訂版)。檢查出同樣多寫一個字,結賬,或復姓,而是動詞形式還是檢查出,其內容遠遠好checkouting。較新的 VCS 添加了更多的名詞和動詞詞:
- commit與 check-in 的含義大致相同,但我們稍后會看到一些技術差異。作為名詞,commit也指一個版本,但特別是由commit的動詞形式存盤的版本。
- 克隆基本上是一個奇特的術語,用于復制整個存盤庫,通常是從計算機網路上的不同機器(例如,從網站)復制。作為名詞,克隆是通過克隆制作的存盤庫。
- 分叉在功能上與克隆相同,但通常具有不同的意圖。因此,分叉的名詞與克隆相同,但制作分叉的人可能打算在很少或沒有重新同步(可能永遠或可能在有限的時間內)和/或其他人的情況下使他們的作業發散通過他們的叉子而不是原始的進行協作。
針對Schwern對rcs co和的評論rcs ci,值得注意的是一些歷史專案:
默認情況下,RCS 的 checkout 動詞不鎖定(版本存盤)檔案:它在作業樹中為您提供了一個只讀檔案。您必須使用
co -l來獲取鎖,它為您提供了一個可以更新的讀/寫檔案。RCS
co和ci過期的 SCCS 簽出/簽入。但是,sccs我們有兩個單獨的提取動詞:get表示獲取只讀副本和edit表示鎖定檔案并獲取讀/寫副本。有關詳細資訊,請參見例如Oracle 檔案。“簽入”命令拼寫為delta。
我認為,RCS 是第一個使用今天幸存下來的術語的版本控制系統。它的動詞一直存在于 CVS(并發版本系統)和 Subversion(“CVS 做得更好”)中,并從那里傳播到所有現代版本控制系統中(請參閱維基百科以獲得一個相當大的表格)。現代 SCCS 是早期 Unix SCCS 的重新實作,它本身可能最多只是松散地基于早于它的 IBM SCCS。
uj5u.com熱心網友回復:
實際上,您在使用 git 時需要使用 git checkout 因為此命令會告訴您您現在所在的分支
嘗試:
git checkout
輸出:
Your branch is up to date with 'origin/Master by example'
請告訴我這是否對您有幫助
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/334183.html
