国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Git 教程】Git 進(jìn)階使用方法

這篇具有很好參考價(jià)值的文章主要介紹了【Git 教程】Git 進(jìn)階使用方法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、Stash 使用

git stash 命令用于臨時(shí)保存和恢復(fù)未完成的工作。

  • 保存當(dāng)前工作狀態(tài):

    git stash save "stash message"
    

    最新的建議寫法:

    git stash puth -m "stash message"
    

    這會(huì)創(chuàng)建一個(gè)新的 stash,你可以提供一個(gè)消息來進(jìn)行描述。

  • 查看所有保存的 stash:

    git stash list
    
  • 恢復(fù)最近的 stash:

    git stash pop
    

    這會(huì)將最近的 stash 應(yīng)用到當(dāng)前分支,并從 stash 列表中刪除它。

  • 恢復(fù)指定的 stash:

    git stash apply stash@{n}
    

    其中 n 是你想要應(yīng)用的 stash 的索引。

該功能我常用于分支間臨時(shí)更改的切換,例如我在 A 分支更改了很多內(nèi)容,后面發(fā)現(xiàn)這些更改本應(yīng)在 B 分支進(jìn)行處理的,此時(shí)這個(gè)功能就非常有用。

二、Cherry-pick 使用

git cherry-pick 命令用于選擇一個(gè)或多個(gè)提交并應(yīng)用到當(dāng)前分支。

  • 應(yīng)用單個(gè)提交:

    git cherry-pick <commit-hash>
    

    這會(huì)將指定的提交應(yīng)用到當(dāng)前分支,當(dāng)然它們的哈希值會(huì)不一樣。

  • 應(yīng)用多個(gè)提交:

    git cherry-pick <commit-hash1> <commit-hash2> <commit-hash3>
    

    你可以一次應(yīng)用多個(gè)提交。

  • 解決 cherry-pick 沖突:

    如果在 cherry-pick 過程中發(fā)生沖突,你需要手動(dòng)解決它們,然后執(zhí)行以下命令完成 cherry-pick

    git add <沖突文件>
    git cherry-pick --continue
    

三、Reflog 使用

git reflog 命令顯示當(dāng)前分支的最近操作日志。

  • 查看當(dāng)前分支的 reflog:

    git reflog
    

    這將顯示當(dāng)前分支的提交歷史,包括已經(jīng)被刪除的提交。

  • 恢復(fù)已刪除的提交:

    如果你想恢復(fù)一個(gè)已經(jīng)被刪除的提交,你可以使用 git cherry-pick 或者 git reset 命令。

四、修改歷史提交

有時(shí)候你可能需要修改歷史提交。

  • 修改最近一次提交:

    git commit --amend
    

    這會(huì)打開編輯器讓你修改提交信息,并且可以添加或修改此次提交的文件。

  • 修改歷史中的多個(gè)提交:

    git rebase -i <commit-hash>^
    

    在交互式 rebase 界面中,你可以選擇要修改的提交,并將其更改為 edit 狀態(tài)。然后使用 git commit --amend 修改提交,接著使用 git rebase --continue 繼續(xù)執(zhí)行 rebase。

    看不懂 ^ 符號(hào)的可以去看 【Git 教程】Git 基本使用方法。

五、使用別名

為了提高命令行操作的效率,可以為常用的 Git 命令設(shè)置別名(在 【Git 教程】Git 基本使用方法 中我們也已經(jīng)展示了一下,不過那是通過直接更改配置文件來達(dá)到目的的)。

  • 設(shè)置別名:

    git config --global alias.co checkout
    git config --global alias.br branch
    git config --global alias.ci commit
    

    .gitconfig 文件中配置這些別名,以便它們?cè)谒袀}(cāng)庫中生效。

六、Submodule 使用

git submodule 命令用于管理子模塊。

此命令可以達(dá)到 svn目錄權(quán)限效果。

  • 添加子模塊:

    git submodule add <repository> <path>
    

    這會(huì)在指定的路徑下添加子模塊。

  • 更新子模塊:

    git submodule update --init --recursive
    

    這會(huì)初始化、遞歸地更新所有子模塊。

七、鉤子(Hooks)使用

Git 鉤子可以在 Git 操作的特定階段運(yùn)行自定義腳本。所有鉤子均被放置在 Git 目錄下的一個(gè)特定子目錄,即我們通常在大多數(shù)項(xiàng)目中看到的 .git/hooks 目錄。在通過 git init 命令創(chuàng)建新的版本庫的時(shí)候,Git 會(huì)自動(dòng)在這個(gè)位置部署一些示范腳本。這些腳本不僅具備可執(zhí)行性,還會(huì)展示當(dāng)它們激活時(shí)傳遞的參數(shù)。雖然這些示例腳本主要是用 shell 編寫的,部分還包含了 Perl 代碼,但實(shí)際上,只要腳本命名得當(dāng)且具備可執(zhí)行屬性,可以使用任何編程語言來編寫,無論是 RubyPython 或者其他你所擅長(zhǎng)的語言皆可。

  • 安裝鉤子:

    將自定義腳本放在 .git/hooks 目錄下的相應(yīng)位置。例如,pre-commit 鉤子在提交之前運(yùn)行。

  • 示例 pre-commit 鉤子:

    #!/bin/bash
    # 檢查代碼風(fēng)格
    if ! git diff-index --cached --name-only HEAD | grep -E '\.jsx\?$' | xargs eslint; then
        exit 1
    fi
    

    在這個(gè)例子中,鉤子會(huì)在提交前運(yùn)行 ESLint 檢查。

八、淺克?。⊿hallow Clone)

git clone 命令的 --depth 選項(xiàng)用于創(chuàng)建淺克隆。

  • 創(chuàng)建淺克?。?/p>

    git clone --depth=1 <repository>
    

    這會(huì)克隆倉(cāng)庫的最新一次提交,而不包括完整的歷史記錄。

九、Bisect 使用

git bisect 命令用于在 Git 歷史中查找引入 bug 的提交。(這個(gè)功能我自己也少用,沒法解說的太詳細(xì),大家湊合看看吧。。。)

  • 啟動(dòng) bisect:

    git bisect start
    
  • 標(biāo)記一個(gè)已知包含 bug 的提交:

    git bisect bad <commit-hash>
    
  • 標(biāo)記一個(gè)已知不包含 bug 的提交:

    git bisect good <commit-hash>
    
  • 使用 gitk 查看當(dāng)前 bisect 過程中剩余的提交信息:

    git bisect visualize
    

十、Archive 使用

git archive 命令用于將 Git 倉(cāng)庫打包成一個(gè)歸檔文件。

  • 創(chuàng)建歸檔文件:

    git archive --format zip --output archive.zip HEAD
    

    這將創(chuàng)建一個(gè)名為 archive.zip 的歸檔文件,其中包含當(dāng)前提交(HEAD)的代碼。

    據(jù)我使用經(jīng)驗(yàn)所知,打包成的歸檔文件并不會(huì)包含 .gitignore 中忽略的文件。

十一、Revert 使用

git revert 命令用于撤銷 Git 倉(cāng)庫中的提交。

  • 撤銷單個(gè)提交:

    git revert <commit-hash> -m 1
    

    這將撤銷指定提交(<commit-hash>)的一個(gè)父提交。

  • 撤銷多個(gè)提交:

    git revert <commit-hash1>..<commit-hash2> -m 1
    

    這將撤銷指定提交范圍(<commit-hash1><commit-hash2>)的一個(gè)父提交。

  • 撤銷提交并保留更改:

    git revert -n <commit-hash>
    

    這將撤銷指定提交(<commit-hash>),但不會(huì)提交更改。相反,它會(huì)將更改留在工作目錄中,以便你進(jìn)行下一步操作。

十二、Clean 使用

git clean 命令用于刪除 Git 倉(cāng)庫中未跟蹤的文件。

  • 強(qiáng)制刪除未跟蹤的文件:

    git clean -f
    

    這將強(qiáng)制刪除所有未跟蹤的文件。

  • 強(qiáng)制刪除未跟蹤的目錄:

    git clean -fd
    

這將強(qiáng)制刪除所有未跟蹤的文件和目錄。

十三、Grep 使用

git grep 命令用于在 Git 倉(cāng)庫中搜索字符串。

  • 搜索當(dāng)前提交中的字符串:

    git grep "string"
    

    這將搜索當(dāng)前提交中包含指定字符串(string)的文件。

  • 搜索歷史提交中的字符串:

    git grep "string" <commit-hash>
    

    這將搜索指定提交(<commit-hash>)中包含指定字符串(string)的文件。

十四、Rm 使用

git rm 命令用于從 Git 倉(cāng)庫中刪除文件或目錄。

  • 刪除文件:

    git rm <file>
    

    這將刪除指定文件(<file>)并從 Git 倉(cāng)庫中移除。

  • 刪除目錄:

    git rm -r <directory>
    

    這將刪除指定目錄(<directory>)及其所有子目錄和文件,并從 Git 倉(cāng)庫中移除。

  • 強(qiáng)制刪除文件或目錄:

    git rm -f <file>
    

    這將強(qiáng)制刪除指定文件(<file>)或目錄(<directory>),而不進(jìn)行任何確認(rèn)。

  • 從 Git 倉(cāng)庫中刪除文件但不刪除文件內(nèi)容

    如果你只想從 Git 倉(cāng)庫中刪除文件,但不刪除文件內(nèi)容,可以使用 git rm --cached 選項(xiàng)。

    git rm --cached <file>
    

    這將從 Git 倉(cāng)庫中刪除指定文件(<file>),但不會(huì)刪除文件內(nèi)容。

  • 撤銷 Git rm 操作

    如果你在執(zhí)行 git rm 后發(fā)現(xiàn)誤刪了文件,可以使用 git checkout 命令撤銷操作。

    git checkout -- <file>
    

    這將撤銷對(duì)指定文件(<file>)的刪除操作。

十五、.gitignore 相關(guān)

  • 檢查文件是否被 Git 忽略:

    git check-ignore <file>
    

    如果想看所有被 .gitignore 匹配到的忽略的文件/目錄,可以這樣寫:文章來源地址http://www.zghlxwxcb.cn/news/detail-831366.html

    git check-ignore *
    

到了這里,關(guān)于【Git 教程】Git 進(jìn)階使用方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Git分支使用方法

    Git分支使用方法

    目錄 前言 一、查看可用分支 二、創(chuàng)建新分支 三、切換到新分支 四、在新分支上進(jìn)行工作 五、提交更改 六、切換回主分支 七、刪除分支 八、合并分支 九、合并沖突 1、沖突是什么? 2、解決沖突的步驟: 分支是指在同一個(gè)代碼倉(cāng)庫中的不同版本線。它們可以被用來同時(shí)開

    2024年02月10日
    瀏覽(22)
  • git使用方法小結(jié)

    先建立本地分支和遠(yuǎn)程分支的關(guān)聯(lián) git branch --set-upstream-to=origin/remote_branch your_branch 然后git push 否則就需要git push?origin your_branch git branch -vv git branch -av git branch -r 直接強(qiáng)推 git push -f origin/master -f是強(qiáng)制推送的意思 1.在頂層目錄修改.gitignore 2.刪除本地chche緩存 git rm -r --cached . 3.重

    2024年02月09日
    瀏覽(26)
  • Git的使用方法

    Git的使用方法

    簡(jiǎn)單來說,Git就像一個(gè)日志一樣,可以幫你記錄你對(duì) 文本文件 的修改,但他的功能又強(qiáng)于日志,不僅可以記錄,還可以幫你存儲(chǔ)那些你對(duì)文本文件的修改,當(dāng)你想要找回之前未修改的文件時(shí),它可以幫你辦到。 該文章借鑒了廖雪峰的官方網(wǎng)站 創(chuàng)建一個(gè)版本庫 在learngit目錄下

    2024年02月10日
    瀏覽(24)
  • Git撤銷使用方法

    目錄 介紹 詳細(xì)教程 1、撤銷對(duì)文件的修改 2、撤銷對(duì)所有文件的修改 3、撤銷對(duì)已經(jīng)暫存(staged)的文件的修改 4、撤銷當(dāng)前分支的提交 5、撤銷所有本地的修改,回到遠(yuǎn)程倉(cāng)庫的狀態(tài) 6、使用 git revert 撤銷提交并創(chuàng)建新的提交 7、使用 git reset 撤銷提交并刪除提交歷史 撤銷是指

    2024年02月10日
    瀏覽(42)
  • Git遠(yuǎn)程倉(cāng)庫使用方法

    Git遠(yuǎn)程倉(cāng)庫使用方法

    目錄 介紹 詳細(xì)教程 1、創(chuàng)建遠(yuǎn)程倉(cāng)庫 2、在本地初始化倉(cāng)庫 3、關(guān)聯(lián)遠(yuǎn)程倉(cāng)庫 4、提交代碼 5、拉取到本地倉(cāng)庫 6、提交到Git倉(cāng)庫 5、將本地代碼推送到遠(yuǎn)程倉(cāng)庫 遠(yuǎn)程倉(cāng)庫在協(xié)同開發(fā)中起著關(guān)鍵的作用,它提供了一個(gè)中央存儲(chǔ)庫,使多個(gè)開發(fā)者能夠協(xié)同工作、共享代碼、協(xié)同工

    2024年02月11日
    瀏覽(20)
  • git cz 使用方法

    目錄 git cz 的介紹 全局安裝 git cz 全局安裝changelog,生成changelog的工具 項(xiàng)目下進(jìn)行配置(配置出現(xiàn)問題可以嘗試使用管理員身份運(yùn)行或者在結(jié)尾加上 --force 字段) ?在第四點(diǎn)前的操作,每臺(tái)電腦只用操作一次即可,第四點(diǎn),需要每個(gè)項(xiàng)目都操作安裝一遍 git-cz 一款git commit 統(tǒng)一

    2024年02月15日
    瀏覽(54)
  • git使用X篇_1_SVN和GIT的版本控制區(qū)別及git等的使用方法

    GIT是分布式版本控制系統(tǒng),可以在本地記錄代碼的修改過程而不一定上傳至SVN服務(wù)端: 詳細(xì)使用差異見博客: 版本控制:SVN和GIT的一些使用感受 版本控制:SVN和GIT的一些使用感受(續(xù)) Git是一個(gè)開源的分布式版本控制系統(tǒng),可以有效、高速地處理從很小到非常大的項(xiàng)目版本

    2024年02月08日
    瀏覽(39)
  • Git的作用以及使用方法

    Git的作用以及使用方法

    GIT,全稱是分布式版本控制系統(tǒng),git通常在編程中會(huì)用到,并且git支持分布式部署。 可以有效、高速的處理從很小到非常大的項(xiàng)目版本管理。分布式相比于集中式的最大區(qū)別在于開發(fā)者可以提交到本地,每個(gè)開發(fā)者通過克隆(git clone),在本地機(jī)器上拷貝一個(gè)完整的Git倉(cāng)庫。

    2023年04月25日
    瀏覽(21)
  • git 的使用方法(上 - 指令)

    git 的使用方法(上 - 指令)

    在工作中我們的項(xiàng)目一般都是多人合作完成的,這樣就需要用到 git 了,跟隨本文來一起學(xué)習(xí)把! Git 是目前世界上最先進(jìn)的 分布式 版本控制系統(tǒng)。 Workspace :工作區(qū) Index / Stage :暫存區(qū) Repository :倉(cāng)庫區(qū)(或本地倉(cāng)庫) Remote :遠(yuǎn)程倉(cāng)庫 SVN 是 集中式 版本控制系統(tǒng),版本庫

    2023年04月08日
    瀏覽(17)
  • Git安裝與使用方法入門

    Git安裝與使用方法入門

    目錄 Git簡(jiǎn)介 Git下載與安裝 Git配置環(huán)境變量 Git使用方法入門 Git是一個(gè)幫助開發(fā)者追蹤代碼變化和團(tuán)隊(duì)協(xié)作的工具。它記錄了代碼修改的歷史,并允許回到過去的版本。開發(fā)者可以創(chuàng)建分支來獨(dú)立開發(fā)新功能,而不影響主代碼。團(tuán)隊(duì)成員可以共享代碼,并輕松合并修改。Git提

    2024年02月09日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包