




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
《Git使用方法》課程簡介:為什么要學(xué)習(xí)Git?版本控制的必要性在軟件開發(fā)過程中,代碼的修改和迭代是不可避免的。版本控制能夠幫助開發(fā)者記錄每次修改的內(nèi)容,方便回溯和管理,避免代碼丟失和混亂。團隊協(xié)作的需求多人協(xié)作開發(fā)時,Git能夠有效地管理不同開發(fā)者的代碼,避免沖突,提高開發(fā)效率。通過分支管理,可以并行開發(fā)不同的功能模塊,最終合并到主干代碼。個人項目的管理Git的歷史與發(fā)展12005年:LinusTorvalds創(chuàng)建Git為了更好地管理Linux內(nèi)核的開發(fā),LinusTorvalds創(chuàng)建了Git。Git的設(shè)計目標(biāo)是快速、簡單、分布式,能夠支持大規(guī)模項目的版本控制。22008年:GitHub上線GitHub的上線極大地推動了Git的普及。GitHub提供了一個在線的代碼托管平臺,方便開發(fā)者共享代碼、協(xié)作開發(fā),并進行開源項目的管理。3至今:Git成為主流版本控制工具Git的核心概念:版本控制1什么是版本控制?版本控制是一種記錄文件修改歷史的系統(tǒng)。它允許你回溯到之前的版本,比較不同版本之間的差異,并協(xié)同工作。2集中式vs分布式集中式版本控制系統(tǒng)(如SVN)依賴于中央服務(wù)器。分布式版本控制系統(tǒng)(如Git)允許每個開發(fā)者擁有完整的代碼倉庫。Git的優(yōu)勢分布式版本控制系統(tǒng)(DVCS)中心化版本控制中心化版本控制系統(tǒng),如SVN,有一個中央服務(wù)器存儲所有版本的文件。開發(fā)者從服務(wù)器獲取最新的代碼,并在修改后提交到服務(wù)器。所有的修改都集中在服務(wù)器上,如果服務(wù)器出現(xiàn)故障,可能會導(dǎo)致數(shù)據(jù)丟失。分布式版本控制分布式版本控制系統(tǒng),如Git,每個開發(fā)者都擁有完整的代碼倉庫,包括所有的歷史版本。開發(fā)者可以在本地進行修改和提交,然后將修改推送到遠程倉庫。即使遠程倉庫出現(xiàn)故障,開發(fā)者仍然可以在本地進行工作。Git的優(yōu)勢:快速、安全、靈活快速Git的設(shè)計目標(biāo)之一是速度。Git操作通常在本地進行,速度非???。即使是大型項目,Git也能高效地處理版本控制任務(wù)。安全Git使用SHA-1哈希算法來保證數(shù)據(jù)的完整性。每次提交都會生成一個唯一的哈希值,用于標(biāo)識該提交。如果數(shù)據(jù)被篡改,哈希值就會發(fā)生變化,Git能夠檢測到這種篡改。靈活Git支持多種工作流,如集中式工作流、功能分支工作流、Gitflow工作流等。開發(fā)者可以根據(jù)項目的需求選擇合適的工作流。Git還支持分支和合并操作,方便開發(fā)者并行開發(fā)不同的功能模塊。Git的基本架構(gòu)工作目錄工作目錄是開發(fā)者進行代碼修改的地方。開發(fā)者在工作目錄中編輯文件、添加文件、刪除文件等。暫存區(qū)暫存區(qū)是Git用于跟蹤修改的地方。開發(fā)者將修改后的文件添加到暫存區(qū),然后才能提交到本地倉庫。本地倉庫本地倉庫是存儲所有版本的文件的地方。開發(fā)者將暫存區(qū)中的修改提交到本地倉庫,形成一個新的版本。遠程倉庫遠程倉庫是存儲所有版本的文件的地方,位于遠程服務(wù)器上。開發(fā)者可以將本地倉庫中的修改推送到遠程倉庫,也可以從遠程倉庫拉取更新。本地倉庫、暫存區(qū)、遠程倉庫本地倉庫本地倉庫是存儲項目所有版本歷史記錄的地方,位于開發(fā)者的本地機器上。開發(fā)者可以在本地倉庫中進行提交、分支、合并等操作,而無需連接到遠程服務(wù)器。本地倉庫是Git的核心組件,保證了開發(fā)者可以離線工作。暫存區(qū)暫存區(qū)(也稱為索引)是位于工作目錄和本地倉庫之間的一個中間層。開發(fā)者使用gitadd命令將修改后的文件添加到暫存區(qū),然后使用gitcommit命令將暫存區(qū)中的文件提交到本地倉庫。暫存區(qū)允許開發(fā)者選擇性地提交修改,而不是一次性提交所有修改。遠程倉庫遠程倉庫是位于遠程服務(wù)器上的代碼倉庫,用于團隊協(xié)作和代碼共享。常見的遠程倉庫有GitHub、GitLab、Gitee等。開發(fā)者可以使用gitpush命令將本地倉庫中的修改推送到遠程倉庫,也可以使用gitpull命令從遠程倉庫拉取更新。安裝Git:Windows、macOS、LinuxWindows訪問Git官網(wǎng)下載Windows版本的安裝包,按照安裝向?qū)нM行安裝。安裝完成后,打開GitBash終端,輸入git--version命令,如果顯示Git的版本信息,則表示安裝成功。macOS可以通過Homebrew包管理器安裝Git。打開終端,輸入brewinstallgit命令進行安裝。安裝完成后,輸入git--version命令,如果顯示Git的版本信息,則表示安裝成功。Linux可以使用系統(tǒng)自帶的包管理器安裝Git。例如,在Ubuntu系統(tǒng)中,輸入sudoapt-getinstallgit命令進行安裝。安裝完成后,輸入git--version命令,如果顯示Git的版本信息,則表示安裝成功。配置Git:用戶名、郵箱1配置用戶名打開GitBash終端,輸入gitconfig--global"YourName"命令,將"YourName"替換為你的用戶名。用戶名用于標(biāo)識你的提交。2配置郵箱輸入gitconfig--globaluser.email"your.email@"命令,將"your.email@"替換為你的郵箱地址。郵箱地址也用于標(biāo)識你的提交。3查看配置信息輸入gitconfig--list命令,可以查看Git的配置信息。如果用戶名和郵箱地址配置正確,則會在列表中顯示出來。Git常用命令速查表命令描述gitinit初始化倉庫gitadd添加文件到暫存區(qū)gitcommit提交更改gitstatus查看倉庫狀態(tài)gitlog查看提交歷史gitcheckout撤銷更改gitdiff比較文件差異gitbranch創(chuàng)建分支gitmerge合并分支gitclone克隆遠程倉庫gitpush推送本地分支到遠程gitpull從遠程倉庫拉取更新初始化倉庫:gitinit命令gitinit描述用于在當(dāng)前目錄下創(chuàng)建一個新的Git倉庫。執(zhí)行該命令后,會在當(dāng)前目錄下生成一個.git目錄,用于存儲Git的版本控制信息。示例打開GitBash終端,進入到你的項目目錄,然后輸入gitinit命令。如果執(zhí)行成功,會顯示"InitializedemptyGitrepositoryin.git/"的信息。添加文件到暫存區(qū):gitadd1命令gitadd<file>2描述用于將指定的文件添加到暫存區(qū)。暫存區(qū)是Git用于跟蹤修改的地方,只有添加到暫存區(qū)的文件才能被提交到本地倉庫。3示例輸入gitaddindex.html命令,將index.html文件添加到暫存區(qū)。如果要添加所有文件,可以使用gitadd.命令。提交更改:gitcommit命令gitcommit-m"Commitmessage"1描述用于將暫存區(qū)中的更改提交到本地倉庫。每次提交都需要編寫提交信息,用于描述本次提交的內(nèi)容。2示例輸入gitcommit-m"Addindex.html"命令,將暫存區(qū)中的index.html文件提交到本地倉庫,并添加提交信息"Addindex.html"。3查看倉庫狀態(tài):gitstatus命令gitstatus描述用于查看當(dāng)前倉庫的狀態(tài),包括已修改但未添加到暫存區(qū)的文件、已添加到暫存區(qū)但未提交的文件、已提交的文件等。示例輸入gitstatus命令,可以查看當(dāng)前倉庫的狀態(tài)。如果顯示"nothingtocommit,workingtreeclean"的信息,則表示當(dāng)前倉庫沒有任何修改。查看提交歷史:gitlog1命令gitlog2描述用于查看當(dāng)前倉庫的提交歷史,包括每次提交的作者、提交時間、提交信息等。可以按時間順序查看所有的提交記錄。3示例輸入gitlog命令,可以查看當(dāng)前倉庫的提交歷史??梢允褂胓itlog--oneline命令,以簡潔的方式顯示提交歷史。撤銷更改:gitcheckout命令gitcheckout--<file>描述用于撤銷對指定文件的修改,將其恢復(fù)到最近一次提交的狀態(tài)。該命令會覆蓋工作目錄中的文件,請謹慎使用。示例輸入gitcheckout--index.html命令,將index.html文件恢復(fù)到最近一次提交的狀態(tài)。如果文件已經(jīng)被添加到暫存區(qū),需要先使用gitresetHEAD<file>命令將其從暫存區(qū)移除。比較文件差異:gitdiff命令gitdiff<file>描述用于比較工作目錄中的文件與暫存區(qū)中的文件的差異。如果文件已經(jīng)被添加到暫存區(qū),則比較暫存區(qū)中的文件與本地倉庫中的文件的差異。示例輸入gitdiffindex.html命令,可以比較工作目錄中的index.html文件與暫存區(qū)中的index.html文件的差異。可以使用gitdiff--cached<file>命令,比較暫存區(qū)中的文件與本地倉庫中的文件的差異。分支的概念:創(chuàng)建、切換、合并1合并分支將不同分支的代碼合并到一起2切換分支在不同分支之間進行切換3創(chuàng)建分支從主干代碼創(chuàng)建新的分支分支是Git中一個非常重要的概念。分支允許開發(fā)者在不影響主干代碼的情況下,并行開發(fā)不同的功能模塊。開發(fā)者可以創(chuàng)建新的分支,在新的分支上進行修改和測試,然后將新的分支合并到主干代碼。通過分支管理,可以有效地提高開發(fā)效率,并保證主干代碼的穩(wěn)定性。創(chuàng)建分支:gitbranch1命令gitbranch<branch_name>2描述用于創(chuàng)建一個新的分支。創(chuàng)建分支后,需要使用gitcheckout命令切換到新的分支,才能在新分支上進行修改。3示例輸入gitbranchfeature/login命令,創(chuàng)建一個名為feature/login的新分支??梢允褂胓itbranch命令,查看當(dāng)前倉庫的所有分支。切換分支:gitcheckout命令gitcheckout<branch_name>1描述用于切換到指定的分支。切換分支后,工作目錄中的文件會更新為指定分支上的文件。2示例輸入gitcheckoutfeature/login命令,切換到名為feature/login的分支??梢允褂胓itcheckout-b<branch_name>命令,創(chuàng)建一個新的分支并切換到該分支。3合并分支:gitmerge命令gitmerge<branch_name>描述用于將指定的分支合并到當(dāng)前分支。合并分支時,Git會嘗試自動合并兩個分支上的更改。如果兩個分支上的更改有沖突,需要手動解決沖突。示例首先,切換到主干分支(如main分支),然后輸入gitmergefeature/login命令,將feature/login分支合并到主干分支??梢允褂胓itmerge--no-ff<branch_name>命令,強制創(chuàng)建一個合并提交。刪除分支:gitbranch-d命令gitbranch-d<branch_name>描述用于刪除指定的分支。只有當(dāng)分支上的更改已經(jīng)被合并到其他分支時,才能成功刪除該分支。如果分支上的更改尚未被合并,可以使用gitbranch-D<branch_name>命令強制刪除該分支。示例輸入gitbranch-dfeature/login命令,刪除名為feature/login的分支??梢允褂胓itbranch-r-d<remote/branch_name>命令,刪除遠程分支。解決沖突:手動編輯、gitmergetool1手動編輯當(dāng)Git無法自動合并分支上的更改時,會產(chǎn)生沖突。沖突的文件中會包含特殊的標(biāo)記,用于標(biāo)識沖突的部分。開發(fā)者需要手動編輯文件,解決沖突,然后將修改后的文件添加到暫存區(qū)并提交。2gitmergetoolGit提供了一個gitmergetool命令,用于啟動圖形化的合并工具,幫助開發(fā)者解決沖突??梢允褂胓itconfig--globalmerge.tool<tool_name>命令,配置默認的合并工具。遠程倉庫:GitHub、GitLab、GiteeGitHubGitHub是一個全球領(lǐng)先的代碼托管平臺,提供代碼托管、版本控制、團隊協(xié)作、問題跟蹤等功能。GitHub擁有龐大的開源社區(qū),是開發(fā)者學(xué)習(xí)和交流的重要平臺。GitLabGitLab也是一個流行的代碼托管平臺,提供類似于GitHub的功能。GitLab強調(diào)DevOps理念,提供完整的CI/CD工具鏈,方便開發(fā)者進行自動化構(gòu)建、測試和部署。GiteeGitee是一個中國的代碼托管平臺,提供類似于GitHub的功能。Gitee專注于服務(wù)國內(nèi)開發(fā)者,提供更快的訪問速度和更好的本地化支持??寺∵h程倉庫:gitclone1命令gitclone<repository_url>2描述用于將遠程倉庫克隆到本地??寺⊥瓿珊?,會在當(dāng)前目錄下創(chuàng)建一個與遠程倉庫同名的目錄,其中包含所有的代碼和版本歷史記錄。3示例輸入gitclone/user/repository.git命令,將GitHub上的repository倉庫克隆到本地??梢允褂胓itclone--depth1<repository_url>命令,只克隆最近一次提交,加快克隆速度。添加遠程倉庫:gitremoteadd命令gitremoteadd<remote_name><repository_url>描述用于添加一個遠程倉庫。添加遠程倉庫后,可以使用gitfetch命令從遠程倉庫拉取更新,使用gitpush命令將本地分支推送到遠程倉庫。示例輸入gitremoteaddorigin/user/repository.git命令,添加一個名為origin的遠程倉庫。可以使用gitremote-v命令,查看當(dāng)前倉庫的所有遠程倉庫。推送本地分支到遠程:gitpush1命令gitpush<remote_name><branch_name>2描述用于將本地分支推送到遠程倉庫。如果遠程倉庫不存在該分支,則會創(chuàng)建一個新的分支。如果遠程倉庫存在該分支,則會將本地分支上的更改合并到遠程分支。3示例輸入gitpushoriginmain命令,將本地的main分支推送到名為origin的遠程倉庫??梢允褂胓itpush-u<remote_name><branch_name>命令,將本地分支與遠程分支建立關(guān)聯(lián),下次可以直接使用gitpush命令推送更改。從遠程倉庫拉取更新:gitpull命令gitpull<remote_name><branch_name>描述用于從遠程倉庫拉取更新,并將遠程分支上的更改合并到本地分支。如果本地分支與遠程分支存在沖突,需要手動解決沖突。示例輸入gitpulloriginmain命令,從名為origin的遠程倉庫拉取main分支的更新,并將更新合并到本地的main分支??梢允褂胓itpull--rebase<remote_name><branch_name>命令,使用變基的方式合并更新。抓取遠程倉庫更新:gitfetch命令gitfetch<remote_name>描述用于從遠程倉庫抓取更新,但不將遠程分支上的更改合并到本地分支。抓取更新后,可以使用gitmerge命令或gitrebase命令將遠程分支上的更改合并到本地分支。示例輸入gitfetchorigin命令,從名為origin的遠程倉庫抓取更新??梢允褂胓itbranch-r命令,查看遠程倉庫的分支。Git工作流:集中式、功能分支、Gitflow集中式工作流所有開發(fā)者都直接在主干分支上進行修改。這種工作流簡單易用,但容易產(chǎn)生沖突,不適合大型團隊協(xié)作。功能分支工作流每個開發(fā)者都創(chuàng)建一個新的功能分支,在功能分支上進行修改。修改完成后,將功能分支合并到主干分支。這種工作流可以有效地避免沖突,適合中小型團隊協(xié)作。Gitflow工作流Gitflow工作流是一種復(fù)雜的分支管理策略,包括主干分支、開發(fā)分支、功能分支、發(fā)布分支、熱修復(fù)分支等。這種工作流適合大型項目開發(fā),可以有效地管理多個并行版本。集中式工作流1特點只有一個主干分支(如main分支),所有開發(fā)者都直接在主干分支上進行修改。2優(yōu)點簡單易用,適用于小型項目或個人項目。3缺點容易產(chǎn)生沖突,不適合大型團隊協(xié)作。功能分支工作流特點每個開發(fā)者都創(chuàng)建一個新的功能分支,在功能分支上進行修改。修改完成后,將功能分支合并到主干分支。1優(yōu)點可以有效地避免沖突,適合中小型團隊協(xié)作。2缺點需要頻繁地創(chuàng)建和合并分支,管理成本較高。3Gitflow工作流特點包括主干分支(如main分支)、開發(fā)分支(如develop分支)、功能分支、發(fā)布分支、熱修復(fù)分支等。優(yōu)點適合大型項目開發(fā),可以有效地管理多個并行版本。缺點復(fù)雜,學(xué)習(xí)成本較高。標(biāo)簽:創(chuàng)建、查看、推送1創(chuàng)建標(biāo)簽使用gittag命令創(chuàng)建標(biāo)簽,用于標(biāo)記重要的提交,如發(fā)布版本。2查看標(biāo)簽使用gittag命令查看已創(chuàng)建的標(biāo)簽。3推送標(biāo)簽使用gitpush--tags命令將標(biāo)簽推送到遠程倉庫。創(chuàng)建標(biāo)簽:gittag命令gittag<tag_name>描述用于創(chuàng)建一個新的標(biāo)簽,默認情況下,標(biāo)簽指向最近一次提交??梢允褂胓ittag-a<tag_name>-m"Tagmessage"<commit_id>命令,創(chuàng)建一個帶有消息的標(biāo)簽,并指向指定的提交。示例輸入gittagv1.0命令,創(chuàng)建一個名為v1.0的標(biāo)簽??梢允褂胓ittag-av1.0-m"Releasev1.0"<commit_id>命令,創(chuàng)建一個帶有消息的標(biāo)簽,并指向指定的提交。查看標(biāo)簽:gittag1命令gittag2描述用于查看當(dāng)前倉庫的所有標(biāo)簽。標(biāo)簽會按照字母順序排列??梢允褂胓itshow<tag_name>命令,查看指定標(biāo)簽的詳細信息。3示例輸入gittag命令,可以查看當(dāng)前倉庫的所有標(biāo)簽。輸入gitshowv1.0命令,可以查看v1.0標(biāo)簽的詳細信息。推送標(biāo)簽:gitpush--tags命令gitpush--tags1描述用于將本地倉庫的所有標(biāo)簽推送到遠程倉庫。默認情況下,gitpush命令不會推送標(biāo)簽,需要使用--tags選項才能推送標(biāo)簽。2示例輸入gitpushorigin--tags命令,將本地倉庫的所有標(biāo)簽推送到名為origin的遠程倉庫??梢允褂胓itpushorigin<tag_name>命令,只推送指定的標(biāo)簽。3忽略文件:.gitignore作用.gitignore文件用于指定Git應(yīng)該忽略的文件和目錄。忽略的文件和目錄不會被添加到暫存區(qū),也不會被提交到本地倉庫。位置.gitignore文件通常位于項目的根目錄下。也可以在子目錄中創(chuàng)建.gitignore文件,用于指定該目錄下的忽略規(guī)則。語法.gitignore文件使用簡單的模式匹配語法,可以指定文件名、目錄名、通配符等。配置.gitignore文件1創(chuàng)建文件在項目的根目錄下創(chuàng)建一個名為.gitignore的文件。注意,文件名前面有一個點號。2編寫規(guī)則在.gitignore文件中編寫忽略規(guī)則,每行一個規(guī)則??梢允褂梦募?、目錄名、通配符等。3保存文件保存.gitignore文件。Git會自動讀取.gitignore文件,并根據(jù)其中的規(guī)則忽略文件和目錄。常見忽略文件的例子編譯產(chǎn)生的臨時文件例如,*.o、*.class、*.pyc等。這些文件是編譯過程中產(chǎn)生的臨時文件,不應(yīng)該被提交到代碼倉庫。日志文件例如,*.log。日志文件通常包含大量的調(diào)試信息,不應(yīng)該被提交到代碼倉庫。配置文件例如,config.ini、database.yml。配置文件通常包含敏感信息,如數(shù)據(jù)庫密碼等,不應(yīng)該被提交到代碼倉庫。IDE產(chǎn)生的項目文件例如,.idea/、.vscode/。這些文件是IDE產(chǎn)生的項目文件,不應(yīng)該被提交到代碼倉庫。Git常用工具:圖形界面客戶端SourceTreeSourceTree是一款免費的Git圖形界面客戶端,支持Windows和macOS。SourceTree提供了友好的用戶界面,方便開發(fā)者進行Git操作。GitHubDesktopGitHubDesktop是GitHub官方提供的Git圖形界面客戶端,支持Windows和macOS。GitHubDesktop與GitHub集成緊密,方便開發(fā)者進行代碼托管和協(xié)作。GitKrakenGitKraken是一款跨平臺的Git圖形界面客戶端,支持Windows、macOS和Linux。GitKraken提供了強大的功能和友好的用戶界面,方便開發(fā)者進行Git操作。SourceTree介紹特點免費、支持Windows和macOS、提供友好的用戶界面、方便開發(fā)者進行Git操作、支持多種Git命令、支持分支管理、支持可視化提交歷史等。優(yōu)點易于上手、功能強大、界面友好。缺點占用資源較多、啟動速度較慢。GitHubDesktop介紹1特點免費、支持Windows和macOS、與GitHub集成緊密、方便開發(fā)者進行代碼托管和協(xié)作、提供友好的用戶界面、支持多種Git命令、支持分支管理等。2優(yōu)點易于上手、與GitHub集成緊密、界面簡潔。3缺點功能相對簡單、不支持可視化提交歷史。其他GitGUI工具推薦GitKrakenGitKraken是一款跨平臺的Git圖形界面客戶端,支持Windows、macOS和Linux。GitKraken提供了強大的功能和友好的用戶界面,方便開發(fā)者進行Git操作。SmartGitSmartGit是一款商業(yè)的Git圖形界面客戶端,提供免費的非商業(yè)版本。SmartGit提供了強大的功能和靈活的配置選項,適合高級用戶使用。GitExtensionsGitExtensions是一款開源的Git圖形界面客戶端,只支持Windows。GitExtensions提供了豐富的插件和擴展,方便開發(fā)者自定義Git功能。Git進階:變基(rebase)命令gitrebase<branch_name>1描述用于將當(dāng)前分支的提交歷史移動到指定分支的頂端,使提交歷史更加線性。2用途用于整理提交歷史、避免不必要的合并提交。3變基的概念和用途概念變基是將一個分支的更改集成到另一個分支的過程,但它不是通過創(chuàng)建一個合并提交來實現(xiàn),而是通過將當(dāng)前分支的提交歷史“移動”到目標(biāo)分支的頂端來實現(xiàn)。用途變基的主要用途是整理提交歷史,使提交歷史更加線性、清晰。通過變基,可以避免不必要的合并提交,使提交歷史更易于閱讀和理解。變基的風(fēng)險和注意事項1風(fēng)險變基會修改提交歷史,如果已經(jīng)將本地分支推送到遠程倉庫,則不應(yīng)該進行變基操作,否則可能會導(dǎo)致遠程倉庫的提交歷史與本地倉庫的提交歷史不一致。2注意事項在進行變基操作之前,應(yīng)該先備份本地分支,以防止意外情況發(fā)生。在進行變基操作時,應(yīng)該仔細檢查沖突,并確保解決所有沖突。Git進階:儲藏(stash)1命令gitstash2描述用于儲藏當(dāng)前工作目錄中的未完成的更改,以便切換到其他分支或執(zhí)行其他任務(wù)。3用途用于臨時保存未完成的更改,避免提交不完整的代碼。儲藏未完成的更改:gitstash命令gitstash描述用于儲藏當(dāng)前工作目錄中的未完成的更改,包括已修改但未添加到暫存區(qū)的文件、已添加到暫存區(qū)但未提交的文件。示例輸入gitstash命令,儲藏當(dāng)前工作目錄中的未完成的更改??梢允褂胓itstashsave"Stashmessage"命令,創(chuàng)建一個帶有消息的儲藏?;謴?fù)儲藏的更改:gitstashpop1命令gitstashpop2描述用于恢復(fù)最近一次儲藏的更改,并將儲藏從儲藏列表中移除。如果恢復(fù)的更改與當(dāng)前工作目錄中的文件存在沖突,需要手動解決沖突。3示例輸入gitstashpop命令,恢復(fù)最近一次儲藏的更改??梢允褂胓itstashapply<stash_id>命令,恢復(fù)指定的儲藏,但不將儲藏從儲藏列表中移除。Git進階:子模塊(submodule)1作用用于將一個Git倉庫作為子目錄添加到另一個Git倉庫中。2用途用于管理項目的依賴關(guān)系,方便代碼復(fù)用。添加子模塊:gitsubmoduleadd命令gitsubmoduleadd<repository_url><path>描述用于將一個Git倉庫作為子模塊添加到當(dāng)前Git倉庫中。<repository_url>是子模塊的遠程倉庫URL,<path>是子模塊在當(dāng)前倉庫中的路徑。示例輸入gitsubmoduleadd/user/library.gitlibrary命令,將GitHub上的library倉庫作為子模塊添加到當(dāng)前倉庫的library目錄下。更新子模塊:gitsubmoduleupdate命令gitsubmoduleupdate--init--recursive描述用于更新子模塊。如果子模塊是第一次被克隆,需要使用--init選項初始化子模塊。如果子模塊包含嵌套的子模塊,需要使用--recursive選項遞歸更新所有子模塊。示例輸入gitsubmoduleupdate--init--recursive命令,更新當(dāng)前倉庫的所有子模塊。在克隆包含子模塊的倉庫后,需要執(zhí)行該命令才能正確初始化和更新子模塊。解決常見Git問題問題解決方法忘記提交信息使用gitcommit--amend命令修改最近一次提交的信息。誤刪分支使用gitreflog命令查找分支的提交記錄,然后使用gitcheckout-b<branch_name><commit_id>命令恢復(fù)分支。誤刪文件使用git
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專家聘用合同范例
- 書刊設(shè)計合同范例
- 人員解除合同范例
- 農(nóng)村房子贈予合同范例
- 公告類合同范例
- 東軟股合同范例
- 業(yè)主家用車出租合同范例
- 公路工程咨詢合同范例
- 農(nóng)家別墅買賣合同范本
- DSE和木霉降解木質(zhì)纖維素殘渣及其發(fā)酵產(chǎn)物對菘藍促生抗旱研究
- 四年級數(shù)學(xué)(四則混合運算)計算題專項練習(xí)與答案匯編
- 8年級上冊(人教版)物理電子教材-初中8~9年級物理電子課本
- 人教版高中英語新教材必修2單詞默寫表
- 中金公司在線測評真題
- 項目資金管理統(tǒng)籌實施方案
- 2024年秋新滬科版物理八年級上冊 6.3來自地球的力 教學(xué)課件
- 定密培訓(xùn)課件教學(xué)課件
- 三、種植芽苗菜(教學(xué)設(shè)計)魯科版二年級下冊綜合實踐活動
- 2025屆東北師大附屬中學(xué)高考物理五模試卷含解析
- GB/T 7409.1-2024同步電機勵磁系統(tǒng)第1部分:定義
- 液化氣站雙重預(yù)防體系手冊
評論
0/150
提交評論