你應該知道的前 30 個 Git 命令
已發表: 2020-04-28如果您是專業軟件開發團隊的一員,您就會知道編寫代碼時的工作原理。 通常有不同的團隊編寫代碼——開發環境可能有一個開發人員團隊,他們坐在同一個地方,與一個在全球其他地方遠程與他們合作的團隊密切合作。
這兩個團隊都編寫代碼並為中央代碼庫做出貢獻。 這就是版本控制系統或 VCS 發揮作用的地方。 他們管理從不同來源收集代碼的代碼庫。
目錄
什麼是版本控制系統?
版本控制系統是產品所有階段和版本的貢獻和管理的單一參考點,它無需擁有多個文件或文件夾即可完成這項工作。 VCS 解決了通常在開發階段出現的問題,並通過不讓開發人員交換文件或文件夾來簡化整個過程。
相反,開發人員有一個他們需要與之通信的單一來源。 正是這個源代碼看到了代碼中的所有變化。 所有文件都保存在此位置。 我們有兩種類型的 VCS,開發人員可以根據自己的需要在世界各地使用。 這些 VCS 是
集中式版本控制系統:這些 VCS 使用項目或代碼庫所在的集中式存儲庫。 這個集中式項目由團隊開發人員貢獻的所有文件組成。 如果任何開發人員想要對項目或存儲在其中的文件進行更改,他們需要訪問才能進入此存儲庫。
分佈式版本控制系統:在這些 VCS 中,事情比集中式版本要靈活得多。 Mercurial 和 Git 是分佈式 VCS 最常見的示例。 在這個系統中,每個開發人員都有自己的本地存儲庫,其中不僅包含他們編寫的代碼和他們在一段時間內對其所做的更改,還包含他們的版本以及其他開發人員的版本。

什麼是 git?
簡單來說,git 是一個免費的分佈式版本控制系統。 它是一個開源 VCS,可以比同類產品更快、更高效地處理小型和大型項目。 它是所有可用的分佈式版本控制系統中最受青睞的。
git 是如何工作的?
Git 的工作方式與大多數其他版本控制系統不同。 與其他計算文件差異並將這些差異相加得出保存版本的 VCS 不同,git 使用文件系統的快照來完成這項工作。 每當您提交對文件的更改或保存項目的更改狀態時,您都會讓 git 拍攝系統快照,然後將其保存為參考。
未進行任何更改的文件會將其先前的快照存儲為參考。 Git 為開發人員提供了一系列命令來幫助他們執行不同的任務。 我們將討論開源開發人員最常用的30 個 git 命令。
閱讀:前 30 個 Git 面試問題和答案
Git 狀態
當您使用 git 時,您的文件將處於這三種狀態中的任何一種——修改、暫存或提交。 讓我們討論一下這些狀態的實際含義。
當您在本地存儲庫中對文件進行更改時,您的文件處於修改狀態; 但是,這些仍然沒有被存儲。 在暫存狀態下,您對文件所做的更改將被保存。 最後,在提交狀態下,修改和保存的文件存儲在您的項目或代碼庫中。
現在,您需要徹底了解 git 的一些非常重要的內容。 您可以使用 git 運行兩種類型的存儲庫。 您正在使用的筆記本電腦或台式機具有本地存儲庫,也稱為工作目錄。 然後在雲上存在一個遠程存儲庫。
所以問題是如何在 git 中使用這兩種存儲庫類型? 本地存儲庫具有所有必要的功能,但只能在您的台式機或筆記本電腦上使用。 當您必須與團隊中的其他人共享文件時,您需要做什麼? 使用 Gitlab 或 GitHub 創建代碼的遠程存儲庫。
然後,您可以簡單地使用該存儲庫來上傳您的文件或代碼。 現在,有權訪問您的存儲庫的每個人都可以將文件下載到他們的本地筆記本電腦或台式機並做出貢獻。
Git 命令
我們將在本節中討論的所有這些命令在使開發人員的軟件開發過程變得更容易方面發揮著重要作用。 我們將提到這些命令中最有用的。
1.配置詳細信息:這可用於配置您的個人資料。 為此目的使用 git config 命令。 您可以使用此命令設置您的姓名和電子郵件 ID。 您可以在兩個基礎上配置這些詳細信息 - 項目或全局。 對 locl 存儲庫使用以下命令。
git config user.name “Bill Tench”
git config user.email [email protected]
使用 global config 命令進行全局設置
git config — 全局用戶名“Bill Tench”
git config — 全局 user.email “[email protected]
2. 初始化存儲庫:存儲庫是項目的一種目錄。 它有很多信息,包括源文件、標籤、頭、子目錄和其他東西。 使用 git init 命令初始化存儲庫。 此命令是所有其他命令中最常用的命令之一。 初始化存儲庫後,您可以開始向其中添加文件並開始修改它們。
3. 添加文件: Git 使添加文件成為一項非常重要的任務。 使用 git 添加命令將所有修改的文件或目錄添加到存儲庫。 讓我們看看它是如何工作的。

git 添加文件
該命令將擁有工作目錄中的所有文件並將其添加到存儲庫中。 您可以使用此命令添加特定文件。 現在如果你想添加 PHP 文件,你可以使用下面提到的命令。
混帳添加 *.php
這些文件將被標記為暫存。
4.驗證添加的文件:最近添加的文件可以通過git status命令進行驗證。 您可以使用此命令查看新文件或已修改的文件。 您可以運行 git status 命令來查看詳細信息。 使用此命令後,您將在下一次提交中看到所有為暫存狀態設置的文件。
5. 提交存儲庫更改:如前所述,每次提交更改時,都會拍攝代碼庫的快照。 這就是 git 跟踪更改並提供版本控制的方式。 用於此功能的命令是 git commit。
運行此命令後,系統會要求您提供一些信息。 它可以像添加一個小細節一樣。 將調用安裝期間設置的默認 Linux 編輯器。 使用 git commit –m “First Commit” 命令阻止他的輕率行為發生。
6. 顯示日誌:如果要查看對存儲庫進行了哪些更改,則需要查看日誌。 使用 git log 命令來完成這項工作。 這將顯示有關您所做提交的一般信息。 使用 git log –file 命令查看您對特定文件所做的更改。 您也可以使用其他選項來檢查日誌以獲取其他詳細信息。
7. 驗證 git 分支:分支顯示項目中的獨立開發階段。 要查看當前分支,可以使用 git branch 命令。 使用此命令,您將能夠看到您當前正在處理的分支。 活動分支將在輸出中帶有星號,以將其與其他分支區分開來。
8.重置分支:將你當前所在的工作目錄或存儲庫重置為不同的狀態是非常好的。 您可以使用 git reset 命令來執行此功能。 您可以使用以下命令對當前分支執行軟或硬重置:
git 重置-軟
git 重置 – 硬
9. 添加新分支:如果您想獨立開發新功能,您可以添加新分支以簡化工作。 為此使用 git branch 命令。 添加分支名稱以進行標識。
git 分支功能工作
要確保分支添加成功,請再次使用 git branch 命令。 如果添加成功,它將顯示名為 feature-work 的新分支。 您需要記住,您只能添加一個具有相同名稱的新分支。 如果這樣做,將導致致命錯誤。 所以嘗試使用不同的名稱來添加新的分支。
10. 分支間切換:你可以使用git checkout命令來隨你的項目在不同分支間切換。 在軟件開發過程中,開發人員也經常使用此命令。 這是一個例子
git checkout 功能工作
使用此命令,您將收到切換成功的通知。 為確保切換確實發生,請使用我們之前討論過的 git branch 命令。
11. 顯示版本:使用 git –version 命令查看你機器上安裝的 git 版本。
12. 查閱手冊頁:使用 man git 和 man git commit 命令查看子命令的手冊。
13、管理git配置:可以使用git config命令來設置、替換或查詢不同的配置選項。
14. 總結日誌信息:為此使用 git shortlog 命令。
15.查看每次提交的修改:您可以使用 git what changed 命令查看每次提交給您的項目帶來的更改。
16. 驗證對像數據庫:使用 git fsck 命令在對像數據庫中查找錯誤或丟失的對象。
17. 列出解壓對象:使用 count-objects 命令顯示解壓對象的總數以及它們佔用的磁盤空間。
18. 打包尚未打包的對象:您可以為此目的使用 git repack 命令。
19、管理工作樹:使用git worktree命令分別顯示工作樹、移除工作樹、添加工作樹、修剪工作樹。
20. 查找模式:使用 git grep 命令通過查找存儲庫中的特定模式來簡化開發。
21. 顯示遠程倉庫:使用 git remote 命令來執行這個功能
22. 推送更新:你可以使用 git push 命令將你的更新添加到遠程倉庫。
23. 拉取新的更新:您可以使用 git pull 命令將其他開發人員所做的修改更新到您項目的本地版本。
24. 克隆存儲庫:使用 git clone <Git : URL> 命令執行此功能。
25. Stash 工作目錄:你可以使用 git stash 命令來達到這個目的。
26. 恢復現有提交:使用 git revert 命令恢復不再有用的命令。
27、合併兩個分支:用git merge命令將兩個開發分支合併成一個統一的分支。

28.檢查文件、提交和tress之間的差異:您可以使用git diff命令來執行此功能。
29. 給項目添加標籤:使用 git tag 命令標記項目中的重要事件。
30. 獲取遠程數據:使用 git fetch origin 命令來執行這個功能。
另請閱讀:頂級全棧開發人員工具
結論
如果您有興趣了解有關 Github 命令、全棧軟件的更多信息,請查看 upGrad 和 IIIT-B 的全棧軟件開發 PG 文憑,該文憑專為工作專業人士設計,提供 500 多個小時的嚴格培訓、9 個以上的項目和任務、IIIT-B 校友身份、實用的實踐頂點項目和頂級公司的工作協助。