日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

10個開發(fā)者必知必會的Git命令

來源: 責編: 時間:2023-11-08 22:40:35 403觀看
導讀Git和GitHub是每個軟件工程師必須了解的最基礎的東西,開發(fā)人員的日常工作中都要與這些工具進行交互。精通Git可以簡化工作,極大提高生產力。本文,我們分享一組開發(fā)者必知的Git命令。Git 術語先熟悉一些基本的Git術語。這

Git和GitHub是每個軟件工程師必須了解的最基礎的東西,開發(fā)人員的日常工作中都要與這些工具進行交互。精通Git可以簡化工作,極大提高生產力。myE28資訊網——每日最新資訊28at.com

本文,我們分享一組開發(fā)者必知的Git命令。myE28資訊網——每日最新資訊28at.com

Git 術語

先熟悉一些基本的Git術語。這能夠幫助更好地理解Git命令。myE28資訊網——每日最新資訊28at.com

  • HEAD:

在Git中,HEAD是個特殊的指針/引用,它始終指向當前分支中最新的提交。當您進行新的提交時,HEAD會向前移動,指向該新的提交。例如,如果在main分支上進行了新的提交,HEAD將指向該新的提交,表示它是main分支中最新的提交。myE28資訊網——每日最新資訊28at.com

  • ^(插入符號):

在Git中,符號^用于導航項目的歷史時間線。當使用HEAD^時,它引用的是當前提交之前的提交。如果在^后附加一個數(shù)字,例如HEAD^2,它引用的是當前提交之前的第二個提交。簡而言之,^符號允許在項目歷史中向后遍歷,而數(shù)字值則可以精確指定要回溯的提交數(shù)量。myE28資訊網——每日最新資訊28at.com

  • 暫存區(qū):

暫存區(qū)是用來存放開發(fā)人員希望在下一次提交中包含的更改的地方。暫存區(qū)可以選擇要提交的內容,審查、組織和完善您的修改。通過使用暫存區(qū),可以控制哪些更改將被包含在提交中。當使用git add命令時,實際上是將更改添加到暫存區(qū),可以類比為聲明:“我希望這些更改成為我下一次提交的一部分。”myE28資訊網——每日最新資訊28at.com

現(xiàn)在逐個介紹10個Git命令。myE28資訊網——每日最新資訊28at.com

1 將文件添加到暫存區(qū)并提交

通常,在Git中,使用git add *命令將所有修改過的文件放入暫存區(qū),然后使用git commit -m "commitMessage"命令提交這些更改。然而,有一種更簡化的命令,可以在一個步驟中完成這兩個任務:myE28資訊網——每日最新資訊28at.com

git commit -am "commitMessage"

-am標志允許開發(fā)人員在一個高效的操作中既將這些更改放入暫存區(qū),又進行提交。myE28資訊網——每日最新資訊28at.com

2 創(chuàng)建并切換到Git分支

與前面的情況類似,有另一條命令將這兩個命令的功能合并在一起。不需要使用兩個單獨的命令,git branch branchName用于創(chuàng)建一個分支,然后git checkout branchName用于切換到該分支,可以使用以下命令在一個步驟中完成這兩個任務:myE28資訊網——每日最新資訊28at.com

git checkout -b branchName

帶有git checkout命令的-b標志允許開發(fā)人員不僅創(chuàng)建一個新分支,還立即切換到該分支。myE28資訊網——每日最新資訊28at.com

3 刪除Git分支

要在Git中刪除一個分支,可以使用git branch -d或git branch -D命令。-d選項用于安全刪除,只有當該分支完全合并到當前分支時才會刪除該分支。-D選項用于強制刪除,無論該分支是否完全合并,都會刪除在Git中,以下是命令示例:myE28資訊網——每日最新資訊28at.com

安全刪除(檢查合并情況):myE28資訊網——每日最新資訊28at.com

git branch -d branchName

強制刪除(不檢查合并情況):myE28資訊網——每日最新資訊28at.com

git branch -D branchName

4 重命名Git分支

要重命名一個分支,可以使用git branch -m命令,后面跟上當前分支名稱和新的目標分支名稱。例如,如果想將一個名為oldBranch的分支重命名為newBranch,可以運行以下命令:myE28資訊網——每日最新資訊28at.com

git branch -m oldBranch newBranch

然而,如果想要重命名當前正在工作的分支,而不明確指定舊的名稱,可以使用以下命令:myE28資訊網——每日最新資訊28at.com

git branch -m newBranchName

在這種情況下,無需指定舊的分支名稱,因為Git會假設您想將當前分支重命名為新的名稱。myE28資訊網——每日最新資訊28at.com

5 取消暫存特定文件

有時,開發(fā)人員可能希望從暫存區(qū)中移除特定文件,以便在提交之前進行其他修改。使用以下命令:myE28資訊網——每日最新資訊28at.com

git reset filename

這將取消暫存該文件,同時保留您的更改。myE28資訊網——每日最新資訊28at.com

6 放棄對特定文件的更改

如果想要完全放棄對特定文件的更改,并將其恢復為上次提交的狀態(tài),請使用以下命令:myE28資訊網——每日最新資訊28at.com

git checkout -- filename

該命令將確保文件返回到其以前的狀態(tài),撤消任何最近的修改。這是一種有用的方法,可以在不影響其他更改的情況下重新開始處理特定文件。myE28資訊網——每日最新資訊28at.com

7 更新最后的Git提交

假設剛剛在Git倉庫中進行了一次提交,然后意識到您忘記在該提交中包含一個更改,或者想要修復提交消息本身。您不希望為這個小的更改創(chuàng)建一個全新的提交。相反,您想要將其添加到先前的提交中。這時可以使用以下命令的地方:myE28資訊網——每日最新資訊28at.com

git commit --amend -m 'message'

該命令修改最近進行的提交。它將任何暫存的更改(使用git add添加的更改)與新的注釋結合起來,創(chuàng)建一個更新后的提交。myE28資訊網——每日最新資訊28at.com

需要記住的是,如果您已經將提交推送到遠程倉庫,需要使用git push --force強制推送更改以更新遠程分支。因為標準的git push操作將一個新的提交附加到您的遠程倉庫,而不是修改最后的提交。myE28資訊網——每日最新資訊28at.com

8 保存更改

假設您正在兩個不同的分支A和B上進行工作。當在A分支上進行更改時,團隊要求您在B分支上修復一個錯誤。當嘗試使用git checkout B切換到B分支時,Git會阻止并顯示錯誤信息:myE28資訊網——每日最新資訊28at.com

圖片圖片myE28資訊網——每日最新資訊28at.com

如果收到錯誤消息并建議提交更改,那么提交是一個固定點,會將更改記錄在項目的歷史中。但是,如果您仍然需要在當前工作中繼續(xù)進行其他修改,不想立即提交這些更改,那么可以使用"stash"功能來隱藏這些修改:myE28資訊網——每日最新資訊28at.com

git stash

git stash會暫時保存尚未準備好提交的更改,允許切換分支或在其他任務上工作,而無需提交不完整的工作。myE28資訊網——每日最新資訊28at.com

要在分支中重新應用已隱藏的更改,可以使用git stash apply或git stash pop。這兩個命令都會恢復最新的隱藏更改。stash apply僅僅恢復更改,而pop則恢復更改并將其從隱藏中移除。myE28資訊網——每日最新資訊28at.com

9 回滾 Git 提交

想象一下,你正在一個 Git 項目上工作,然后發(fā)現(xiàn)某個提交引入了一些不良的改動。你希望撤銷這些改動,但又不想完全刪除該提交的歷史記錄。在這種情況下,可以使用以下命令來撤銷特定的提交:myE28資訊網——每日最新資訊28at.com

git revert commitHash

這是一種安全且非破壞性的方式來糾正項目中的錯誤或不必要的修改。myE28資訊網——每日最新資訊28at.com

舉個例子,假設你有一系列的提交:myE28資訊網——每日最新資訊28at.com

  • 提交 A
  • 提交 B(在這里引入了不良的改動)
  • 提交 C
  • 提交 D

要撤銷提交 B 的影響,運行:myE28資訊網——每日最新資訊28at.com

git revert commitHashOfB

Git 會創(chuàng)建一個新的提交,我們稱之為提交 E,它會抵消提交 B 引入的改動。提交 E 成為你的分支中最新的提交,項目的狀態(tài)將回到提交B之前的狀態(tài)。myE28資訊網——每日最新資訊28at.com

如果想知道如何獲取提交哈希值,可以使用 git reflog 命令。在下面的截圖中,被標記的部分表示你可以復制的提交哈希值:myE28資訊網——每日最新資訊28at.com

圖片圖片myE28資訊網——每日最新資訊28at.com

10 重置 Git 提交

假設你已經對項目進行了一次提交。然而,在檢查之后,你意識到需要調整或完全撤銷你最后一次的提交。針對這種情況,Git 提供了以下強大的命令:myE28資訊網——每日最新資訊28at.com

10.1 軟重置

git reset --soft HEAD^

當使用 git reset --soft HEAD^ 命令時,你進行了一次軟重置。這個命令將回退到上一次的提交,同時保留所有在暫存區(qū)中的修改。簡單來說,你可以輕松地取消提交,同時保留你的代碼修改。當需要修改上一次的提交,可能是為了再次提交之前添加更多的修改時,這個命令非常有用。myE28資訊網——每日最新資訊28at.com

10.2 混合重置

git reset --mixed HEAD^

當使用 git reset HEAD^ 命令而沒有指定 --soft 或者 --hard 參數(shù)時,它的行為會默認為混合重置。這種方式會撤銷上一次的提交,并從暫存區(qū)中刪除該提交的改動,但是會保留這些改動在工作目錄中。myE28資訊網——每日最新資訊28at.com

這個命令非常有用,可以實現(xiàn)撤銷上一次的提交,并重新開始進行修改,同時保留工作目錄中的改動以便重新提交。myE28資訊網——每日最新資訊28at.com

10.3 硬重置

git reset --hard HEAD^

硬重置會徹底抹去最后一次提交以及與之相關的所有改動。使用 --hard 參數(shù)時,無法回退。所以當想要永久丟棄最后一次提交和它的所有改動時,請謹慎使用這個命令。myE28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-17853-0.html10個開發(fā)者必知必會的Git命令

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 十個Python中的數(shù)據(jù)類型技巧

下一篇: 平臺工程團隊的架構和設計注意事項

標簽:
  • 熱門焦點
  • 官方承諾:K60至尊版將會首批升級MIUI 15

    全新的MIUI 15今天也有了消息,在官宣了K60至尊版將會搭載天璣9200+處理器和獨顯芯片X7的同時,Redmi給出了官方承諾,K60至尊重大更新首批升級,會首批推送MIUI 15。也就是說雖然
  • 6月iOS設備好評榜:第一蟬聯(lián)榜首近一年

    作為安兔兔各種榜單里變化最小的那個,2023年6月的iOS好評榜和上個月相比沒有任何排名上的變化,僅僅是部分設備好評率的下降,長年累月的用戶評價和逐漸退出市場的老款機器讓這
  • 2023 年的 Node.js 生態(tài)系統(tǒng)

    隨著技術的不斷演進和創(chuàng)新,Node.js 在 2023 年達到了一個新的高度。Node.js 擁有一個龐大的生態(tài)系統(tǒng),可以幫助開發(fā)人員更快地實現(xiàn)復雜的應用。本文就來看看 Node.js 最新的生
  • 一年經驗在二線城市面試后端的經驗分享

    忠告這篇文章只適合2年內工作經驗、甚至沒有工作經驗的朋友閱讀。如果你是2年以上工作經驗,請果斷劃走,對你沒啥幫助~主人公這篇文章內容來自 「升職加薪」星球星友 的投稿,坐
  • JavaScript學習 -AES加密算法

    引言在當今數(shù)字化時代,前端應用程序扮演著重要角色,用戶的敏感數(shù)據(jù)經常在前端進行加密和解密操作。然而,這樣的操作在網絡傳輸和存儲中可能會受到惡意攻擊的威脅。為了確保數(shù)據(jù)
  • 年輕人的“職場羞恥感”,無處不在

    作者:馮曉亭 陶 淘 李 欣 張 琳 馬舒葉來源:燃次元“人在職場,應該選擇什么樣的著裝?”近日,在網絡上,一個與著裝相關的帖子引發(fā)關注,在該帖子里,一位在高級寫字樓亞洲金
  • 蘋果、三星、惠普等暫停向印度出口筆記本和平板電腦

    集微網消息,據(jù)彭博社報道,在8月3日印度突然禁止在沒有許可證的情況下向印度進口電腦/平板及顯示器等產品后,蘋果、三星電子和惠普等大公司暫停向印度
  • 2022爆款:ROG魔霸6 冰川散熱系統(tǒng)持續(xù)護航

    喜逢開學季,各大商家開始推出自己的新產品,進行打折促銷活動。對于忠實的端游愛好者來說,能夠擁有一款夢寐以求的筆記本電腦是一件十分開心的事。但是現(xiàn)在的
  • 世界人工智能大會國際日開幕式活動在世博展覽館開啟

    30日上午,世界人工智能大會國際日開幕式活動在世博展覽館開啟,聚集國際城市代表、重量級院士專家、國際創(chuàng)新企業(yè)代表,共同打造人工智能交流平臺。上海市副市
Top 主站蜘蛛池模板: 察哈| 兴安盟| 登封市| 浙江省| 商水县| 永川市| 荆州市| 沈丘县| 南靖县| 伊春市| 资中县| 塔河县| 长顺县| 涿鹿县| 佛坪县| 玛纳斯县| 明光市| 屏南县| 色达县| 海盐县| 临清市| 咸阳市| 西昌市| 城口县| 康乐县| 苍溪县| 壤塘县| 鹤庆县| 英德市| 宁化县| 新乡市| 五台县| 贵南县| 两当县| 夏邑县| 长汀县| 五原县| 麻城市| 剑阁县| 杭锦后旗| 娄底市|