成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Git 速查表:中級(jí)用戶必備的 12 個(gè) Git 命令

開發(fā) 前端
雖然在使用 Git 的最基本級(jí)別時(shí)不需要這些中級(jí)命令,但它們可以幫助用戶提高使用 Git 的效率。它們提供了一組強(qiáng)大的功能,可以幫助您成為一個(gè)全面發(fā)展的開發(fā)者,這通常意味著能夠以創(chuàng)造性的方式解決問(wèn)題。

在本篇文章中,我們將介紹中級(jí)用戶必備的 12 個(gè) Git 命令。

git config

git config 命令用于設(shè)置 Git 配置。使用這個(gè)命令,用戶可以在三個(gè)不同級(jí)別設(shè)置配置:

  • 本地級(jí)別:在特定的 Git 倉(cāng)庫(kù)中(存儲(chǔ)在項(xiàng)目根目錄的 .git/config 文件中)。
  • 全局級(jí)別:針對(duì)操作系統(tǒng)中的當(dāng)前用戶。
  • 系統(tǒng)級(jí)別:針對(duì)操作系統(tǒng)中的所有用戶。

默認(rèn)情況下,git config 命令會(huì)更改本地級(jí)別的設(shè)置。此命令可用于設(shè)置諸如 Git 用戶名、電子郵件地址、默認(rèn)文本編輯器(如 Vim)、默認(rèn)合并行為、終端輸出外觀和別名等信息。

例如,可以使用以下命令設(shè)置當(dāng)前用戶的名稱和電子郵件:

git config --global user.name "Your Name"
git config --global user.email "name@example.com"

可以使用以下命令將 Git 的默認(rèn)文本編輯器設(shè)置為 Vim:

git config --global core.editor "vim"

列出所有當(dāng)前 Git 的配置:

git config --list --show-origin

git mv

git mv 命令用于在 Git 倉(cāng)庫(kù)中移動(dòng)和/或重命名文件。該命令會(huì)在工作目錄中移動(dòng)文件,并更新 Git 索引中舊文件路徑和新文件路徑。

git mv path/to/old_file_name.ext path/to/new_file_name.ext

需要注意的是,文件在您的文件系統(tǒng)中也會(huì)被重命名/移動(dòng),所以這個(gè)命令一舉兩得。然而,舊文件的歷史記錄都被 Git 跟蹤了,所以如果您發(fā)現(xiàn)需要舊版本,可以隨時(shí)找回。

git rm

git rm 命令用于從 Git 倉(cāng)庫(kù)中刪除文件。它會(huì)在工作目錄中刪除文件,并從 Git 索引中移除文件。

要?jiǎng)h除特定文件:

git rm path/to/filename.ext

需要注意的是,此命令會(huì)從您的文件系統(tǒng)中刪除文件。然而,已刪除文件的歷史記錄仍被 Git 跟蹤,所以如果您后來(lái)發(fā)現(xiàn)需要它,可以隨時(shí)找回。

git diff

git diff 命令用于顯示提交、分支以及其他代碼狀態(tài)之間的差異。默認(rèn)情況下,git diff 顯示工作樹與暫存區(qū)之間的差異。

該命令還可用于比較分支之間的差異:

git diff branch1 branch2

或者用于比較兩個(gè)提交之間的差異:

git diff commitID1 commitID2

為了比較一個(gè)特定文件,也可以加上第三個(gè)文件名參數(shù):

git diff commitID1 commitID2 file_to_compare.ext

git reset

git reset 命令用于將分支恢復(fù)到先前的狀態(tài)。當(dāng)給出提交、分支或其他引用時(shí),該命令將分支和 HEAD 引用移動(dòng)到指向該引用的位置。如果未提供引用參數(shù),則默認(rèn)將引用指向 HEAD。

該命令提供了三種操作模式:soft, mixed,和 hard。使用 soft 選項(xiàng)時(shí),索引會(huì)被更新,但暫存的提交和工作目錄保持不變。使用 mixed 選項(xiàng)(默認(rèn)選項(xiàng))時(shí),索引將被重置,已暫存的更改將被移回工作目錄。使用 hard 選項(xiàng)時(shí),索引和工作目錄都會(huì)被重置,所有更改都將丟失。

要將暫存區(qū)重置為與最近的提交匹配,而不丟失工作區(qū)的任何數(shù)據(jù),請(qǐng)使用以下命令:

git reset

撤銷所有當(dāng)前的更改并將工作區(qū)重置為與最近的提交匹配,請(qǐng)使用以下命令:

git reset --hard

git tag

git tag 命令用于創(chuàng)建一個(gè)人類可讀的標(biāo)簽(例如版本號(hào)),用于引用存儲(chǔ)庫(kù)中特定的提交。標(biāo)簽在本質(zhì)上是一個(gè)引用,類似于分支名稱,但標(biāo)簽通常是靜態(tài)的,因?yàn)樗鼈冎赶騿蝹€(gè)提交,而分支名稱是動(dòng)態(tài)的,因?yàn)樗鼈兏櫡种У哪┒耍㈦S著新的提交添加而更新。通常情況下,標(biāo)簽在標(biāo)記發(fā)布版本時(shí)很有用。

為當(dāng)前簽出的 Git 提交創(chuàng)建一個(gè)標(biāo)記:

git tag tag_name

git rebase

Git rebase 命令允許用戶將一系列提交移動(dòng)到一個(gè)新的基礎(chǔ)提交上。如果用戶提供了一個(gè)引用參數(shù),則該分支將在該分支上進(jìn)行 rebase。否則,默認(rèn)情況下,該分支將在遠(yuǎn)程分支上進(jìn)行 rebase。

git rebase origin

通過(guò)在 rebase 命令中添加 -i 選項(xiàng),用戶可以執(zhí)行交互式 rebase。在交互式 rebase 中,用戶還可以組合、拆分、重新排序、刪除和編輯提交記錄。

git cherry-pick

git cherry-pick 命令接受一個(gè)或多個(gè)提交記錄,并將它們應(yīng)用到一個(gè)現(xiàn)有的分支上。該命令提供了一種快速將提交記錄添加到多個(gè)分支的方式,而無(wú)需執(zhí)行 rebase 操作。

要將單個(gè)提交記錄選取并應(yīng)用到當(dāng)前分支上,可以執(zhí)行以下操作:

git cherry-pick commitID

用戶也可以選取一系列提交記錄并將它們應(yīng)用到分支上。默認(rèn)情況下,cherry-pick 不包含第一個(gè)提交記錄,但會(huì)包含最后一個(gè)提交記錄。

git cherry-pick oldest_commit...newest_commit

要讓 cherry-pick 命令包含第一個(gè)和最后一個(gè)提交記錄,可以將命令更新如下:

git cherry-pick oldest_commit^...newest_commit

git bisect

git bisect 命令用于通過(guò)對(duì)提交歷史記錄進(jìn)行二分查找來(lái)分離出特定的提交記錄。該命令在幫助我們找出是哪個(gè)提交引入了 bug 時(shí)非常有用。

要運(yùn)行這個(gè)命令,需要先找到一個(gè)問(wèn)題未發(fā)生的過(guò)去提交記錄,這里稱之為 "good_commit_id"。然后在最近的分支上運(yùn)行以下命令:

git bisect start
git bisect bad
git bisect good good_commit_id

Git 會(huì)對(duì)提交記錄進(jìn)行二分查找,它會(huì)檢查當(dāng)前提交和上一個(gè)好的提交之間的提交記錄。此時(shí),開發(fā)人員需要檢查或測(cè)試代碼,以確定 bug 是否仍然存在。如果 bug 仍然存在,則運(yùn)行 git bisect bad 命令;如果 bug 不存在,則運(yùn)行 git bisect good 命令。

一旦找到了引入 bug 的提交記錄,搜索就會(huì)返回第一個(gè)壞的提交記錄的 commit ID。從這里開始,用戶可以檢查引入 bug 的提交記錄。然后可以使用 git bisect reset 命令將分支恢復(fù)到執(zhí)行搜索之前的狀態(tài)。

這為開發(fā)人員快速追蹤 bug 的源頭提供了一種方法,因?yàn)槊看螌⑻峤粴v史記錄分成兩半,可以指數(shù)級(jí)地減少需要手動(dòng)檢查的提交記錄數(shù)量。

git revert

git revert 命令用于撤消之前提交的更改。該命令接受一個(gè) commit ID,然后在當(dāng)前分支上創(chuàng)建一個(gè)新的提交記錄,以反轉(zhuǎn) revert 提交記錄中的更改。這種方法允許用戶撤消一個(gè)更改,而無(wú)需重寫歷史記錄。執(zhí)行該命令將在分支的末尾產(chǎn)生一個(gè)新的提交記錄,用于撤消 revert 的提交記錄中的更改。

git revert commitID

git fetch

git fetch 命令用于從遠(yuǎn)程倉(cāng)庫(kù)下載引用(包括標(biāo)簽和分支)。它會(huì)下載新創(chuàng)建的引用,并完成本地已存儲(chǔ)引用的歷史記錄。與 git pull 不同,git fetch 命令不會(huì)更新本地倉(cāng)庫(kù)的工作狀態(tài),也不會(huì)執(zhí)行合并操作。默認(rèn)情況下,git fetch 命令會(huì)獲取當(dāng)前倉(cāng)庫(kù)的所有引用。

要從遠(yuǎn)程倉(cāng)庫(kù)獲取所有引用,請(qǐng)使用以下命令:

git fetch origin

要從特定分支獲取引用,請(qǐng)使用以下命令:

git fetch origin branch_name

git blame

通過(guò) git blame 命令,用戶可以查看文件中每一行最后一次修改的時(shí)間以及進(jìn)行修改的責(zé)任人。該工具對(duì)于理解文件的歷史記錄非常有用,可以幫助用戶確定在代碼更改方面應(yīng)該向誰(shuí)尋求問(wèn)題或建議。

要查看特定文件的此信息,請(qǐng)使用以下命令:

git blame path/to/filename.ext

總結(jié)

雖然在使用 Git 的最基本級(jí)別時(shí)不需要這些中級(jí)命令,但它們可以幫助用戶提高使用 Git 的效率。它們提供了一組強(qiáng)大的功能,可以幫助您成為一個(gè)全面發(fā)展的開發(fā)者,這通常意味著能夠以創(chuàng)造性的方式解決問(wèn)題。

本文譯自:Git Cheat Sheet: 12 Essential Git Commands For Intermediate Users

原文鏈接:https://initialcommit.com/blog/git-cheat-sheet-intermediate

責(zé)任編輯:武曉燕 來(lái)源: Se7en的架構(gòu)筆記
相關(guān)推薦

2020-10-08 18:14:15

碼農(nóng)Git命令

2024-10-29 15:42:13

2021-08-09 13:00:45

Linux速查表

2021-01-09 16:16:40

開源軟件速查表編程語(yǔ)言

2023-10-26 18:05:37

Git命令差異

2021-04-20 09:56:58

Python 開發(fā)編程語(yǔ)言

2015-10-30 11:57:49

開發(fā)者設(shè)計(jì)師速查表

2009-10-26 16:08:40

Oracle默認(rèn)用戶名

2020-11-26 06:50:40

APII請(qǐng)求Fetch API

2022-12-19 08:05:04

Python速查表知識(shí)點(diǎn)

2015-08-03 16:42:59

2018-05-04 09:14:09

Git技巧shell命令

2018-04-15 15:43:46

Git技巧命令

2017-10-03 06:37:17

機(jī)器學(xué)習(xí)深度學(xué)習(xí)查表!

2022-12-15 07:45:51

極客版編程速查表

2011-03-16 09:49:54

HTML 5

2025-04-25 11:20:00

網(wǎng)絡(luò)地址端口

2020-08-06 08:48:38

速查表系統(tǒng)管理員Linux

2024-01-15 10:48:53

REST API系統(tǒng)架構(gòu)

2019-03-28 14:30:21

代碼開發(fā)命令
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日韩av免费在线观看 | 日韩有码一区 | 久久免费高清视频 | 盗摄精品av一区二区三区 | 日韩电影一区 | 国产精品久久久久久久免费大片 | 天天综合日日夜夜 | 午夜免费在线观看 | 亚洲a视频 | 日日夜夜影院 | 欧美性成人 | 国产精品一区二区不卡 | 久久久久久久久久久一区二区 | 亚洲综合色视频在线观看 | 免费看的黄网站 | 在线不卡视频 | 国产精品永久免费 | 国产男女视频 | 精品国产高清一区二区三区 | 久久一区精品 | 狠狠躁躁夜夜躁波多野结依 | 牛牛热在线视频 | 在线免费av电影 | 国产一区二区久久 | 中文字幕精品一区二区三区精品 | 成人免费看片 | 午夜视频在线播放 | 国产精品久久久久久238 | av一区二区三区四区 | 一级视频黄色 | 超碰成人免费观看 | 男人的天堂久久 | 亚洲成人综合社区 | 国产视频久久 | 一区二区av | 美国十次成人欧美色导视频 | 精品在线观看一区二区 | 曰批视频在线观看 | 亚洲三级在线观看 | 国产精品1区 | 国产精品久久久久久久久久久久久 |