Git是一個開源的分布式版本控制系統(tǒng),它使開發(fā)人員可以跟蹤其源代碼中的更改。它是開源開發(fā)人員廣泛使用的工具。盡管它是為協(xié)調(diào)編程任務(wù)而設(shè)計的,但是Git可以有效地跟蹤任何文件集。而且,它是由Linux內(nèi)核背后的人Linus Torvalds開發(fā)的。因此,如果您是隨著時間的推移向您的軟件中添加功能的開源開發(fā)人員,或者正在與多個伙伴合作開發(fā)尖端的企業(yè)產(chǎn)品,那么Git可能是您工作的理想跟蹤系統(tǒng)。與我們一起學習一些基本的git命令,這些命令將大大簡化您的開發(fā)周期。
git CLI提供了大量的git命令,以使開發(fā)人員更輕松地進行軟件開發(fā)。為了方便讀者,我們的編輯人員概述了一些最有用的命令。因此,請繼續(xù)閱讀并按照自己的節(jié)奏發(fā)現(xiàn)它們。
1、配置用戶配置文件
您可以使用git config命令配置git配置文件。您至少可以設(shè)置的是用戶名和電子郵件地址。Git允許用戶全局或基于項目配置這些策略。使用以下命令為每個存儲庫設(shè)置用戶和電子郵件地址。
linuxidc@Ubuntu:~/www.linuxidc.com$ git config user.name “linuxidc”
linuxidc@ubuntu:~/www.linuxidc.com$ git config user.email root@linuxidc.net
添加–global選項以全局設(shè)置這些策略。
linuxidc@ubuntu:~/www.linuxidc.com$ git config –global user.name “linuxidc”
linuxidc@ubuntu:~/www.linuxidc.com$ git config –global user.email root@linuxidc.net
2、初始化Git倉庫
git倉庫或簡單的repo是您的開源項目的根目錄。它包含源文件,對象,頭和標簽的子目錄等。您可以使用以下命令輕松初始化git repo。
linuxidc@ubuntu:~/www.linuxidc.com$ git init
已初始化空的 Git 倉庫于 /home/linuxidc/www.linuxidc.com/.git/
這是您一生中最常用的git命令之一?,F(xiàn)在,您可以開始添加源文件,并根據(jù)需要進行修改。
3、添加項目文件
使用git將文件添加到現(xiàn)有項目非常容易。您可以使用git add命令輕松地將所有修改后的文件/目錄添加到跟蹤系統(tǒng)??焖贋g覽以下示例,以了解其工作原理。
git add file
linuxidc@ubuntu:~/www.linuxidc.com$ git add *
發(fā)出git add命令時,它將所有文件從當前工作目錄添加到項目索引中。您可以按照第一個示例中的說明指定特定文件。第二個示例將所有PHP文件添加到索引中。Git會將其標記為暫存。
4、驗證添加的文件
您可以使用git status命令驗證將在下一次提交期間暫存的文件。它將顯示所有新文件或已更改的文件。
linuxidc@ubuntu:~/www.linuxidc.com$ git status
想要查看詳細信息時,請運行上面的命令。它將顯示即將提交的所有文件的摘要列表。
5、提交對存儲庫的更改
提交更改時,git會捕獲代碼庫的快照。這就是git跟蹤更改并提供版本控制的方式。您需要為此使用git commit命令。
linuxidc@ubuntu:~/www.linuxidc.com$ git commit
當您運行上述命令時,git會要求您輸入一些信息,例如添加說明。它將調(diào)用您在git安裝過程中設(shè)置的默認Linux編輯器。使用以下命令可避免這種不當行為。
linuxidc@ubuntu:~/www.linuxidc.com$ git commit -m “Linuxidc Commit”
因此,如果使用-m選項,則可以直接添加描述。
6.顯示日志
只要想查看對存儲庫所做的更改,就可以查看日志。只需在Linux終端上使用git log命令執(zhí)行此操作即可。
git log
git log –file
linuxidc@ubuntu:~/www.linuxidc.com$ git log
commit 482b4bebada278b29001338411de7c42743065d5 (HEAD -> master)
Author: linuxidc <root@linuxidc.net>
Date: Thu Apr 30 14:21:46 2020 +0800
Linuxidc Commit
第一個示例將顯示有關(guān)git提交的一般信息。如果只想查看特定文件中的更改,請使用第二個命令。您還可以添加更多選項,例如–log-size選項,甚至使用正則表達式進行搜索提交。
提交并顯示日志
7、驗證項目分支
git分支代表您項目中的獨立開發(fā)線。您可以使用git branch命令非常輕松地檢查當前分支。它會顯示您正在開發(fā)新功能或修改較舊功能的當前活動分支。
linuxidc@ubuntu:~/www.linuxidc.com$ git branch
* master
輸出將使用星號(*)標記當前分支。
8、重置項目分支
您可以輕松地將當前存儲庫和工作目錄重置為已知狀態(tài)。git reset命令將把HEAD引用調(diào)整為特定的提交,并相應(yīng)地更新索引以匹配該特定的提交。
linuxidc@ubuntu:~/www.linuxidc.com$ git reset
使用以下命令對您的當前分支執(zhí)行軟重置。
linuxidc@ubuntu:~/www.linuxidc.com$ git reset –soft
您也可以以類似方式執(zhí)行硬重置。只需更換-soft與難的選項,如下面的例子演示。
linuxidc@ubuntu:~/www.linuxidc.com$ git reset –hard
9、添加一個新分支
添加新分支使您可以獨立處理較新的功能。您可以使用git branch命令輕松添加分支。只需添加分支名稱,如下所示。
linuxidc@ubuntu:~/www.linuxidc.com$ git branch new-linuxidc
通過發(fā)出git branch命令來驗證添加是否成功。它應(yīng)該顯示新創(chuàng)建的分支,稱為new-linuxidc。但是,您不能使用相同的分支名稱添加多個分支。它將導致致命錯誤。
10、在分支之間切換
您可以使用checkout命令非常輕松地在項目的各個分支之間切換。它是您在軟件開發(fā)期間最常用的git命令之一。快速瀏覽下一個示例,以了解其工作原理。
linuxidc@ubuntu:~/www.linuxidc.com$ git checkout new-linuxidc
此命令將通知您分支已成功切換。您也可以使用前面顯示的git branch命令來驗證這一點。
11、刪除項目分支
成功開發(fā)新功能后,您希望它們添加到git master分支中。完成此操作后,您可以完全刪除該分支。git命令的-D選項使我們可以很容易地做到這一點。
linuxidc@ubuntu:~/www.linuxidc.com$ git checkout master
切換到分支 ‘master’
linuxidc@ubuntu:~/www.linuxidc.com$ git branch -D new-linuxidc
已刪除分支 new-linuxidc(曾為 482b4be)。
您需要先離開分支才能成功刪除它。否則git會拋出錯誤。
12、檢查提交,樹和文件之間的差異
git diff命令允許我們在提交之間以及在blob對象之間查看兩個多個文件(工作樹和索引樹)的更改。它是用于跟蹤代碼庫更改的最基本的git命令之一。
git diff
git diff new-linuxidc master
第一個示例將顯示工作樹和索引樹之間的更改。第二個示例將顯示master分支和new-linuxidc分支之間的更改。
13、合并兩個分支
您可以使用git merge命令輕松合并兩個不同的開發(fā)分支。它將兩個分支合并為一個統(tǒng)一分支。您可以將git merge命令用于多種用途。看下面的例子,看看如何使用它們。
git merge fixes new-linuxidc
git merge -s ours obsolete
git merge –no-commit main
第一個示例合并兩個分支的新功能并進行修復以創(chuàng)建一個分支。第二個示例使用我們的策略將obsol]分支合并到當前開發(fā)分支。最后一個示例將分支main合并到當前分支,但禁用自動提交。
14、還原現(xiàn)有提交
有時,您可能會決定不再需要某些提交。在這種情況下,還原這些提交比完全修改分支更好。git revert命令可以讓我們做到這一點。
git revert 482b4bebada278b29001338411de7c42743065d5
git revert HEAD~3
第一個示例將還原由提交ID 482b4bebada278b29001338411de7c42743065d5引入的更改。第二個示例使HEAD中的第四個最后提交重復執(zhí)行,并執(zhí)行一個新的提交。
15、隱藏工作目錄
您可以將工作目錄的當前狀態(tài)臨時保存到某個地方,并在以后需要時返回到該目錄。這在git術(shù)語中稱為隱藏。它只是存儲工作目錄的狀態(tài)和索引,以便您可以處理新內(nèi)容。
git stash
當陷入混亂情況時,開發(fā)人員通常使用此命令。它允許他們存儲不整潔的工作流程,并稍后再解決。使用存儲列表命令查看存儲列表。
git stash list
克隆git倉庫
16、克隆倉庫
關(guān)于開源的最好的事情之一就是您可以像對待他人的代碼一樣使用他人的代碼。Git使使用git clone命令下載現(xiàn)有項目變得容易。看下面的插圖,看看它在現(xiàn)實生活中是如何工作的。
git clone <GIT:URL>
git clone git://example.com/git.git/ test-dir
這會將所述項目下載到系統(tǒng)的test-dir目錄中。
17、提取新更新
現(xiàn)實生活中的項目一直在發(fā)展。假設(shè)您在前面從遠程存儲庫中克隆了一個repo。當開發(fā)人員將新特性更新到存儲庫時,您將做什么?將相同的repo一遍又一遍地克隆到本地機器中是不方便的。git pull命令可以避免這種情況。
git pull
此命令將使用協(xié)作者所做的任何新更新來更新項目的本地版本。切記在獲取最新更新之前將工作目錄更改為項目目錄。
18、推送您的更新
完成更新的處理后??可以通過將其添加到遠程存儲庫中。git push和git commit之間的區(qū)別在于,當您提交某些更改時,它們將被添加到本地存儲庫而不是遠程存儲庫中。
git push
此命令會將您的更新添加到項目的遠程存儲庫。通常,您將使用推拉與遠程開發(fā)人員進行協(xié)作。因此,完美地掌握它們很重要。
19、顯示遠程存儲庫
git remote命令使我們可以從Linux終端方便地管理一組跟蹤的存儲庫。您可以使用它僅克隆某些選定的分支。
git remote
git remote –verbose
第一個示例將顯示當前配置的所有遠程存儲庫。添加–verbose標志將向我們顯示有關(guān)此信息的詳細信息。
20、連接到遠程倉庫
您可以設(shè)置遠程倉庫,以便將本地倉庫連接到遠程服務(wù)器。這樣,您就可以將本地更改直接推送到遠程服務(wù)器??焖贋g覽下圖,以了解其實際效果。
$ git remote add origin <服務(wù)器>
上面的命令會將“ origin”作為遠程名稱添加到服務(wù)器。您可以通過瀏覽GitHub存儲庫的Source子選項卡來發(fā)現(xiàn)服務(wù)器URL 。
40個適用于Linux管理員和開發(fā)人員的git命令(下) http://www.sfodin.cn/Linux/2020-05/163108.htm