在本文中,我們將討論 Python 編程語言中的 Git 模塊,用戶如何在 Python 的項目中使用它。我們還將討論用戶如何結合 GitHub 使用 git 模塊,以便我們可以與其他用戶一起處理大型項目。我們還將學習如何創建 git 存儲庫,如何查看所有項目文件的歷史,如何回到項目的初始階段,以及如何在存儲庫中添加和修改新文件。
T2】Python 語言的 Git 模塊是一個分布式版本控制系統。版本控制系統是一組工具,用於跟蹤項目的一組文件的過去。用戶可以通過指示 Git 版本控制系統在任何時候輕鬆保存文件的狀態。之後,用戶可以繼續編輯項目的文件,並在任何狀態下保存項目。以任何當前狀態保存項目就像保留項目目錄的備份一樣。在 Git 模塊中,保存狀態被稱為提交。
每當用戶在 Git 模塊中進行提交時,用戶都會添加一條提交消息,解釋在項目狀態中所做的所有更改。Git 模塊可以顯示用戶在項目中所做的所有更改和提交的歷史。git 模塊的這一特性確實幫助用戶弄清楚他們做了什麼工作,並專門尋找所有潛入系統的 bug。
通過使用 git 模塊,用戶還可以比較不同提交的項目的文件。 Git 模塊還允許用戶用很少的努力將任何一個或多個文件返回到項目的早期狀態。
分布式版本控制系統與版本控制系統略有不同。早期版本控制系統的工作原理是將所有提交保存在用戶的硬盤上。用戶本地硬盤上的提交集合被稱為存儲庫。但是由於這個原因,用戶不能和團隊在同一個代碼庫中工作。在同一個項目中與團隊一起工作時,用戶需要將他們的存儲庫保存在平台上,所有其他團隊成員都可以訪問它。分布式版本控制系統將存儲庫保存在主服務器上,供許多用戶和開發人員共享。這也有文件鎖定的特點。
對於 Git 模塊,大多數用戶和開發人員使用 GitHub 作為中央存儲庫,任何人都可以訪問該文件。GitHub 就像一個中心位置,任何人都可以共享代碼,每個人都可以訪問它。即使在使用 GitHub 後,完整的存儲庫仍然保存在所有的本地轉帖中。
到目前為止,我們一般都知道 Git 模塊。本主題將討論用戶如何在本地計算機系統上開始使用 Git 模塊。
步驟 1:創建新的存儲庫
要開始使用 Git 模塊,用戶首先需要輸入他們的信息。他們必須用 git 配置命令設置用戶名。
$ git config -- global user.name " name of the user goes here "
$ git config - global user.email "username@forexample.com"
設置用戶名後,用戶將需要一個存儲庫來工作。創建存儲庫非常容易。用戶可以在目錄中使用 git 初始化命令:
$ mkdir sample
$ cd sample
$ git init
用戶可以在/ home / tmp / sample /中初始化空的 Git 存儲庫。git /
創建存儲庫後,用戶可以在 Git 模塊上搜索它。用戶最常使用的 Git 模塊命令是 Git 狀態:
$ git status
這個輸出向用戶顯示了一些信息,比如他們在哪個分支上,以及他們沒有什麼要提交的。不提交意味着目錄中沒有 Git 模塊不知道的文件。
這就是我們創建存儲庫的方式。
第二步。向存儲庫添加新文件
在存儲庫中創建一個 Git 不知道的文件。使用編輯器創建文件 sample.py,其中只有一個 print 語句。
#Sample.py
print ( ' Adding a New File ! ' )
此後,如果用戶再次運行 Git status 命令,他們將看到不同的結果:
$ git status
檢查完新文件後,Git 模塊將告訴用戶該文件未被跟蹤。這意味着 Git 說特定的文件不是存儲庫的一部分,不在版本控制之下。用戶可以通過向 Git 添加新文件來解決這個問題。使用 git add 命令將文件添加到 git 模塊。
$ git add sample.py
$ git status
現在 Git 知道了新的文件 sample.py,它將在要提交的更改下列出該文件。將文件添加到 Git 模塊會將其轉移到暫存區。這意味着用戶現在可以將文件提交到存儲庫。
進行提交更改
每當用戶提交更改時,他們都告訴 Git 模塊將文件的這個級別的狀態保存在存儲庫中。用戶可以通過使用 git 模塊的 commit 命令來實現。命令中的-m 選項通知 git 模塊提交以下消息。如果用戶在運行命令時沒有使用-m,Git 模塊將為用戶打開編輯器來創建提交消息。要提交消息,用戶應該編寫如下命令:
$ git commit -m " creating sample.py "
$ git status
用戶現在可以看到 commit 命令返回了一些信息,其中大部分並沒有多大用處,但是它確實告訴用戶只有一個文件發生了變化,因為用戶在存儲庫中只添加了一個文件。提交命令還通知提交的簡單哈希算法(775ca29)。
再次運行 git status 命令後,它顯示用戶現在有了一個乾淨的工作目錄,這意味着文件中的所有更改都不會提交給 git。
Git 模塊的中轉區
Git 模塊有一個暫存區,通常稱為索引。暫存區是 Git 模塊跟蹤用戶在下一次提交中想要做的更改的地方。每當用戶運行 Git Add 命令時,如上所示,新文件 sample.py 被移動到暫存區,這種變化以 Git 狀態顯示。項目文件從 git 模塊的未跟蹤部分移動到輸出的待提交部分。
當用戶運行 git add 命令時,Git 模塊的暫存區顯示了文件的確切內容。如果用戶再次修改它,文件將在 git 狀態輸出的區域、暫存區和非暫存區都可見。
在文件上使用 git 模塊的任何階段(已經提交過一次),都有三個版本的文件可供用戶使用:
- 一個版本在用戶正在編輯的用戶硬盤上。
- 另一個版本由 Git 模塊存儲在用戶的暫存區中。
- 第三個版本存在於文件的存儲庫中。
該文件的所有三個版本可能互不相同。通過將更改移動到用戶的臨時區域,然後提交文件,他們可以將文件的所有這些版本恢復同步。
git 模塊中的 git status 命令非常容易訪問,用戶最常使用。但是有時候,用戶可能會發現 git 模塊的未跟蹤部分顯示了幾對文件,他們不希望 git 模塊看到它們。為此,用戶可以使用. gitignore 文件。
例如:
#Let's create a new Python file of the project in the same directory called example.py:
#example.py
Def get_example ( ) :
return " cow "
之後,修改 sample.py 文件以包含示例. py 並調用其函數:
#sample.py
import example
example = example.get_example ( )
print ( " Animal { } " .format (example) )
每當用戶導入一個本地模塊時,Python 就開始將該模塊編譯成字節碼,並將該文件保存在他們的文件系統中。在 Python2 中,將模塊編譯成字節碼後,它會以示例. pyc. 的形式保存文件,但在 python3 的情況下,它會生成一個 pycache directory 並存儲。pyc 文件在裡面。
例如:
這樣做之後,如果用戶運行 git status 命令,他們將會在未跟蹤部分看到該特定目錄。用戶還可以看到他們的示例. py 文件在未跟蹤的部分,但是他們對 sample.py 所做的更改在新的部分,這被稱為“未提交的更改”。這一部分意味着用戶之前所做的更改沒有被添加到 git 模塊的暫存區。
例如:
$ git status
要將 example.py sample.py 文件添加到存儲庫中,用戶需要執行與之前相同的操作。
例如:
$ git add example.py sample.py
$ git status
現在,用戶應該提交更改並完成清理:
$ git commit -m " add example module "
每當用戶運行 git status 命令時,他們都會看到 pycache directory,如下所示:
$ git status
如果用戶希望所有的 pycache directory 及其內容都被忽略,那麼他們必須在他們的存儲庫中添加一個. gitignore 文件。這是一個非常簡單的過程。用戶必須在他們選擇的編輯器中編輯文件。
# .gitignore
__pycache__
然後,用戶必須運行 git status 命令,他們不再看到 pycache directory 及其內容。雖然用戶會看到新的。gitignore!文件。
例如:
$ git status
文件。gitignore 只是一個普通的文本文件,它可以像其他普通文件一樣添加到存儲庫中。
例如:
$ git add .gitignore
$ git commit - add " create .gitignore "
大廳里還有一個入口。gitignore file,這是用戶在虛擬環境中存儲的目錄。這個目錄叫做 virtualenvs。virtualenvs 目錄通常稱為 env 或 venv。
用戶可以將這些添加到他們的。gitignore 項目的文件。通過這樣做,存儲庫中項目的目錄或文件將被忽略。如果沒有文件或目錄存在,則不會執行任何操作。
用戶還可以存儲一個全局。gitignore 文件。如果用戶的編輯器使用來保存臨時文件或者在計算機系統的本地目錄中製作備份文件,那麼這個過程非常簡單。
例如:
# .gitignore
__pycache__
Venv
Venv /
Venv.bak /
env /
env.bak /
.pytest_cache
.cover /
.coverage
當用戶處於使用任何版本控制工具的初始階段時,最有可能的是使用 Git 模塊。用戶會希望將各種文件存儲在 Git 的存儲庫中,但這是一個錯誤。Git 模塊確實有限制,也有安全問題,因為用戶在他們可以添加到 git 存儲庫的文件和數據類型上面臨一些限制。
所有版本控制系統的基本規則是,用戶只應該在版本控制系統中添加源文件,而不應該將生成的文件添加到版本控制系統中。
源文件是用戶在編輯器中鍵入時創建的任何文件。生成的文件是計算機在處理源文件時創建的文件。
例如:
Sample.py 是源文件,而
Sample.pyc 是生成的文件。
Git 存儲庫中不包含生成文件的原因:
- 將生成的文件存儲在存儲庫中是對空間和時間的浪費。可以再次創建生成的文件,並且可能需要以不同的格式重新創建。如果用戶 1 使用的是 IronPython 或 Cython,而用戶 2 使用的是 Jython 解釋器,那麼。pyc 文件會彼此不同。並提交。pyc 文件可能會在存儲庫中產生衝突。
- 生成的文件相對比項目的源文件大。將生成的文件添加到 Git 存儲庫中意味着特定項目的所有其他用戶和開發人員也必須下載並存儲這些文件,即使他們不需要這些文件。
- Git 存儲庫的另一個規則是,用戶應該謹慎提交二進制文件,並且應該避免提交大文件。
Git 模塊存儲庫不保存用戶提交的項目的每個文件的完整副本。相反,存儲庫使用複雜的算法,該算法基於文件的不同後續版本。這減少了存儲文件需求的數量。但是該算法不適用於二進制文件,因為二進制文件如 MP3 或 JPG 文件沒有很好的區別工具。對於二進制文件,每當用戶提交時,Git 模塊存儲庫必須保存項目的完整文件。
當用戶在 Git 模塊上工作,或者在 GitHub 存儲庫中存儲文件時,不要將機密信息保存在存儲庫中,而要公開共享。
Git 日誌是 Git 模塊的命令。Git 日誌用於查看用戶提交的歷史記錄。
例如:
$ git log
用戶可以在 git 存儲庫中看到用戶提交的歷史記錄。所有提交消息都將按照它們被創建的順序出現。提交的開始將由單詞“commit”標識,並位於提交的簡單哈希區域之後。 Git log 命令將提供每個簡單哈希區域的歷史。
本文討論了 Git 模塊、版本控制系統、如何在 Git 中提交及其存儲庫功能、在 Git 模塊和 GitHub 的存儲庫中添加文件和信息的規則。不同類型的 Git 命令像。 gitignore 、git log、 git add 、 git status 等。,以及它們在項目和目錄文件中的使用。
原創文章,作者:CVYSA,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/127215.html