Git 常用命令總結(jié)

Git是一個(gè)開(kāi)源的分布式版本控制系統(tǒng),它使開(kāi)發(fā)人員可以跟蹤其源代碼中的更改。git CLI提供了大量的git命令,以使開(kāi)發(fā)人員更輕松地進(jìn)行軟件開(kāi)發(fā)。為了方便讀者,我們的編輯人員概述了一些最有用的命令。

配置用戶(hù)配置文件

您可以使用git config命令配置git配置文件。您至少可以設(shè)置的是用戶(hù)名和電子郵件地址。Git允許用戶(hù)全局或基于項(xiàng)目配置這些策略。使用以下命令為每個(gè)存儲(chǔ)庫(kù)設(shè)置用戶(hù)和電子郵件地址。

git config user.name "myname"
git config user.email my@email

添加–global選項(xiàng)以全局設(shè)置這些策略。

git config --global user.name "myname"
git config --global user.email my@email

初始化Git倉(cāng)庫(kù)

git倉(cāng)庫(kù)或簡(jiǎn)單的repo是您的開(kāi)源項(xiàng)目的根目錄。它包含源文件,對(duì)象,頭和標(biāo)簽的子目錄等。您可以使用以下命令輕松初始化git repo。

#進(jìn)入需要的目錄
 git init

現(xiàn)在,您可以開(kāi)始添加源文件,并根據(jù)需要進(jìn)行修改。

添加項(xiàng)目文件

使用git將文件添加到現(xiàn)有項(xiàng)目非常容易。您可以使用git add命令輕松地將所有修改后的文件/目錄添加到跟蹤系統(tǒng)。

# 指定特定文件到項(xiàng)目索引
git add file
#或使用,以下命令添加所有的文件
git add *

發(fā)出git add命令時(shí),它將所有文件從當(dāng)前工作目錄添加到項(xiàng)目索引中。Git會(huì)將其標(biāo)記為暫存。

驗(yàn)證添加的文件

您可以使用git status命令驗(yàn)證將在下一次提交期間暫存的文件。它將顯示所有新文件或已更改的文件。

git status

提交對(duì)存儲(chǔ)庫(kù)的更改

提交更改時(shí),git會(huì)捕獲代碼庫(kù)的快照。這就是git跟蹤更改并提供版本控制的方式。您需要為此使用git commit命令。

git commit

當(dāng)您運(yùn)行上述命令時(shí),git會(huì)要求您輸入一些信息,例如添加說(shuō)明。它將調(diào)用您在git安裝過(guò)程中設(shè)置的默認(rèn)Linux編輯器。使用以下命令可避免這種不當(dāng)行為。

git commit -m "readme"

因此,如果使用-m選項(xiàng),則可以直接添加描述。

顯示日志

只要想查看對(duì)存儲(chǔ)庫(kù)所做的更改,就可以查看日志。只需在Linux終端上使用git log命令執(zhí)行此操作即可。

git log
git log --file

第一個(gè)命令將顯示有關(guān)git提交的一般信息。如果只想查看特定文件中的更改,請(qǐng)使用第二個(gè)命令。您還可以添加更多選項(xiàng),例如–log-size選項(xiàng),甚至使用正則表達(dá)式進(jìn)行搜索提交。

提交并顯示日志

驗(yàn)證項(xiàng)目分支

git分支代表您項(xiàng)目中的獨(dú)立開(kāi)發(fā)線(xiàn)。您可以使用git branch命令非常輕松地檢查當(dāng)前分支。它會(huì)顯示您正在開(kāi)發(fā)新功能或修改較舊功能的當(dāng)前活動(dòng)分支。

 git branch

輸出將使用星號(hào)(*)標(biāo)記當(dāng)前分支。

重置項(xiàng)目分支

您可以輕松地將當(dāng)前存儲(chǔ)庫(kù)和工作目錄重置為已知狀態(tài)。git reset命令將把HEAD引用調(diào)整為特定的提交,并相應(yīng)地更新索引以匹配該特定的提交。

 git reset

使用以下命令對(duì)您的當(dāng)前分支執(zhí)行軟重置。

git reset --soft

您也可以以類(lèi)似方式執(zhí)行硬重置。只需更換-soft與--hard的選項(xiàng),如下:

 git reset --hard

添加一個(gè)新分支

添加新分支使您可以獨(dú)立處理較新的功能。您可以使用git branch命令輕松添加分支。只需添加分支名稱(chēng),如下所示。

 git branch new-branch

通過(guò)發(fā)出git branch命令來(lái)驗(yàn)證添加是否成功。它應(yīng)該顯示新創(chuàng)建的分支,稱(chēng)為new-branch。但是,您不能使用相同的分支名稱(chēng)添加多個(gè)分支。它將導(dǎo)致致命錯(cuò)誤。

在分支之間切換

您可以使用checkout命令非常輕松地在項(xiàng)目的各個(gè)分支之間切換。它是您在軟件開(kāi)發(fā)期間最常用的git命令之一??焖贋g覽下一個(gè)示例,以了解其工作原理。

 git checkout new-branch

此命令將通知您分支已成功切換。您也可以使用前面顯示的git branch命令來(lái)驗(yàn)證這一點(diǎn)。

刪除項(xiàng)目分支

成功開(kāi)發(fā)新功能后,您希望它們添加到git master分支中。完成此操作后,您可以完全刪除該分支。git命令的-D選項(xiàng)使我們可以很容易地做到這一點(diǎn)。

 git checkout master
#切換到分支 'master'
git branch -D new-branch
#已刪除分支 new-branch。

您需要先離開(kāi)分支才能成功刪除它。否則git會(huì)拋出錯(cuò)誤。

檢查提交,樹(shù)和文件之間的差異

git diff命令允許我們?cè)谔峤恢g以及在blob對(duì)象之間查看兩個(gè)多個(gè)文件(工作樹(shù)和索引樹(shù))的更改。它是用于跟蹤代碼庫(kù)更改的最基本的git命令之一。

git diff
git diff new-branch master

第一個(gè)示例將顯示工作樹(shù)和索引樹(shù)之間的更改。第二個(gè)示例將顯示master分支和new-branch分支之間的更改。

合并兩個(gè)分支

您可以使用git merge命令輕松合并兩個(gè)不同的開(kāi)發(fā)分支。它將兩個(gè)分支合并為一個(gè)統(tǒng)一分支。您可以將git merge命令用于多種用途??聪旅娴睦?,看看如何使用它們。

git merge fixes new-branch
git merge -s ours obsolete
git merge --no-commit main

第一個(gè)示例合并兩個(gè)分支的新功能并進(jìn)行修復(fù)以創(chuàng)建一個(gè)分支。第二個(gè)示例使用我們的策略將obsolete分支合并到當(dāng)前開(kāi)發(fā)分支。最后一個(gè)示例將分支main合并到當(dāng)前分支,但禁用自動(dòng)提交。

還原現(xiàn)有提交

有時(shí),您可能會(huì)決定不再需要某些提交。在這種情況下,還原這些提交比完全修改分支更好。git revert命令可以讓我們做到這一點(diǎn)。

git revert 482b4bebada278b29001338411de7c42743065d5

git revert HEAD~3

第一個(gè)示例將還原由提交ID 482b4bebada278b29001338411de7c42743065d5引入的更改。第二個(gè)示例使HEAD中的第四個(gè)最后提交重復(fù)執(zhí)行,并執(zhí)行一個(gè)新的提交。

隱藏工作目錄

您可以將工作目錄的當(dāng)前狀態(tài)臨時(shí)保存到某個(gè)地方,并在以后需要時(shí)返回到該目錄。這在git術(shù)語(yǔ)中稱(chēng)為隱藏。它只是存儲(chǔ)工作目錄的狀態(tài)和索引,以便您可以處理新內(nèi)容。

git stash

當(dāng)陷入混亂情況時(shí),開(kāi)發(fā)人員通常使用此命令。它允許他們存儲(chǔ)不整潔的工作流程,并稍后再解決。使用存儲(chǔ)列表命令查看存儲(chǔ)列表。

git stash list

克隆倉(cāng)庫(kù)

關(guān)于開(kāi)源的最好的事情之一就是您可以像對(duì)待他人的代碼一樣使用他人的代碼。Git使使用git clone命令下載現(xiàn)有項(xiàng)目變得容易??聪旅娴牟鍒D,看看它在現(xiàn)實(shí)生活中是如何工作的。

git clone GIT:URL

提取新更新

現(xiàn)實(shí)生活中的項(xiàng)目一直在發(fā)展。假設(shè)您在前面從遠(yuǎn)程存儲(chǔ)庫(kù)中克隆了一個(gè)repo。當(dāng)開(kāi)發(fā)人員將新特性更新到存儲(chǔ)庫(kù)時(shí),您將做什么?將相同的repo一遍又一遍地克隆到本地機(jī)器中是不方便的。git pull命令可以避免這種情況。

git pull

此命令將使用協(xié)作者所做的任何新更新來(lái)更新項(xiàng)目的本地版本。切記在獲取最新更新之前將工作目錄更改為項(xiàng)目目錄。

推送您的更新

完成更新的處理后可以通過(guò)將其添加到遠(yuǎn)程存儲(chǔ)庫(kù)中。git push和git commit之間的區(qū)別在于,當(dāng)您提交某些更改時(shí),它們將被添加到本地存儲(chǔ)庫(kù)而不是遠(yuǎn)程存儲(chǔ)庫(kù)中。

git push

此命令會(huì)將您的更新添加到項(xiàng)目的遠(yuǎn)程存儲(chǔ)庫(kù)。通常,您將使用推拉與遠(yuǎn)程開(kāi)發(fā)人員進(jìn)行協(xié)作。因此,完美地掌握它們很重要。

顯示遠(yuǎn)程存儲(chǔ)庫(kù)

git remote命令使我們可以從Linux終端方便地管理一組跟蹤的存儲(chǔ)庫(kù)。您可以使用它僅克隆某些選定的分支。

git remote
git remote --verbose

第一個(gè)示例將顯示當(dāng)前配置的所有遠(yuǎn)程存儲(chǔ)庫(kù)。添加–verbose標(biāo)志將向我們顯示有關(guān)此信息的詳細(xì)信息。

連接到遠(yuǎn)程倉(cāng)庫(kù)

您可以設(shè)置遠(yuǎn)程倉(cāng)庫(kù),以便將本地倉(cāng)庫(kù)連接到遠(yuǎn)程服務(wù)器。這樣,您就可以將本地更改直接推送到遠(yuǎn)程服務(wù)器??焖贋g覽下圖,以了解其實(shí)際效果。

$ git remote add origin <服務(wù)器>

上面的命令會(huì)將“ origin”作為遠(yuǎn)程名稱(chēng)添加到服務(wù)器。您可以通過(guò)瀏覽GitHub存儲(chǔ)庫(kù)的Source子選項(xiàng)卡來(lái)發(fā)現(xiàn)服務(wù)器URL 。

將標(biāo)簽添加到您的項(xiàng)目

標(biāo)簽使您可以標(biāo)記開(kāi)源項(xiàng)目中的重要事件。開(kāi)發(fā)人員經(jīng)常使用它們來(lái)標(biāo)記新的復(fù)發(fā)或錯(cuò)誤修復(fù)。請(qǐng)仔細(xì)查看以下git命令,以了解如何使用git將標(biāo)簽添加到項(xiàng)目中。

 git tag 1.0.0 new-branch

此命令將標(biāo)簽1.0.0添加到特定的提交。您可以使用以下命令獲取commit-id。

git log

使用以下命令將標(biāo)簽推送到您的遠(yuǎn)程倉(cāng)庫(kù)中。

 git push origin --tags

您需要明確指定--tags選項(xiàng)。否則,標(biāo)簽只會(huì)添加到您的本地倉(cāng)庫(kù)中,而不會(huì)添加到遠(yuǎn)程倉(cāng)庫(kù)中。

獲取遠(yuǎn)程數(shù)據(jù)

您將經(jīng)常使用的另一個(gè)常見(jiàn)git命令是fetch。由于許多原因,它非常有用。首先,訪(fǎng)存僅檢索新數(shù)據(jù)/引用,而不將它們合并到本地分支。因此,您可以放心,本地倉(cāng)庫(kù)的工作副本將保持安全可靠。

git fetch origin

這是檢查遠(yuǎn)程代碼庫(kù)最新進(jìn)度而又不破壞項(xiàng)目自己版本的絕佳方法。一旦確定所有新數(shù)據(jù)都可以使用,只需將它們合并到本地分支即可。

恢復(fù)未提交的更改

git restore命令允許開(kāi)發(fā)人員恢復(fù)其項(xiàng)目中所有未提交的更改。這些是您對(duì)項(xiàng)目的工作版本或本地索引中的內(nèi)容所做的更改。您可以使用此命令來(lái)還原工作副本中的更改或索引中的更改,或者同時(shí)執(zhí)行這兩個(gè)操作。

git restore --staged gittest.py
git restore --source=HEAD --staged --worktree gittest.py

第一個(gè)命令將還原索引中的文件gittest.py,第二個(gè)命令將還原索引和項(xiàng)目的當(dāng)前工作目錄。

刪除文件

有時(shí),您可能希望從工作樹(shù)或項(xiàng)目索引中完全刪除一些文件。您可以使用git rm命令來(lái)執(zhí)行此操作。但是,此命令不會(huì)從您的工作目錄中刪除指定的文件。使用Linux rm命令執(zhí)行此操作。

$ git rm *.py
$ git rm -r dir/
$ git rm --cached *.py

第一條命令從工作樹(shù)和索引中刪除所有py文件。第二個(gè)命令從dir/目錄中刪除所有內(nèi)容。最后一條命令將僅從索引而不是工作樹(shù)中刪除所有py文件。

移動(dòng)或重命名文件

您可以使用git移動(dòng)或重命名文件,就像使用Linux mv命令一樣。

git mv gittest.py gittest1.py

上面的命令只是執(zhí)行以下Linux操作。

$ mv test.py new-test.py
$ git add new-test.py
$ rm test.py

因此,您可以使用git mv命令來(lái)避免輸入大量額外的Linux終端命令。

清理未跟蹤的文件

未跟蹤的文件是不在git版本控制系統(tǒng)下的文件。在進(jìn)行大型項(xiàng)目時(shí),您經(jīng)常會(huì)偶然發(fā)現(xiàn)此類(lèi)文件。您可以使用幾種方法刪除它們,包括git reset和git checkout。但是,使用git clean命令是最合適的方法。

git clean

fatal: clean.requireForce 默認(rèn)為 true 且未提供 -i、-n 或 -f 選項(xiàng),拒絕執(zhí)行清理動(dòng)作

上面的命令失敗,因?yàn)檫@是在我的系統(tǒng)中配置git的方式。您可以通過(guò)添加-n,-i或-f選項(xiàng)來(lái)解決此問(wèn)題。

git clean -n

優(yōu)化本地倉(cāng)庫(kù)

我最喜歡的git命令之一是gc。它用于垃圾收集,將幫助您減小本地倉(cāng)庫(kù)的大小。如果您正在處理大量項(xiàng)目,則應(yīng)經(jīng)常使用此命令。

$ git gc
枚舉對(duì)象: 10, 完成.
對(duì)象計(jì)數(shù)中: 100% (10/10), 完成.
壓縮對(duì)象中: 100% (10/10), 完成.
寫(xiě)入對(duì)象中: 100% (10/10), 完成.
總共 10 (差異 0),復(fù)用 0 (差異 0)

git gc命令運(yùn)行得非???,并清理了本地倉(cāng)庫(kù)中所有不必要的文件。由于其速度和效率,它是最佳的優(yōu)化方法之一。您也可以使用–aggressive選項(xiàng)來(lái)增加優(yōu)化。但是,這將需要更多時(shí)間才能完成。

存檔本地倉(cāng)庫(kù)

您可以使用git archive命令輕松地歸檔本地倉(cāng)庫(kù)。它允許開(kāi)發(fā)人員將他們的項(xiàng)目安全地存儲(chǔ)在某個(gè)地方。您可以通過(guò)網(wǎng)絡(luò)傳輸此存檔,也可以將其存儲(chǔ)在Linux文件系統(tǒng)上。

git archive --output=test --format=tar master

上面的命令將倉(cāng)庫(kù)存儲(chǔ)在名為test的tar文件中。如果需要,可以省略–format選項(xiàng)。在這種情況下,git將嘗試從名稱(chēng)中推斷出存檔格式。此命令還有更多選項(xiàng)可用。

搜索模式

在大型項(xiàng)目中工作時(shí),通常需要搜索其他內(nèi)容。幸運(yùn)的是,git grep命令使我們能夠在倉(cāng)庫(kù)中搜索特定的模式,并使開(kāi)發(fā)更加容易。它的工作方式與標(biāo)準(zhǔn)Linux grep命令非常相似,具有一些特定于git的功能。

 git grep -iw 'import' master

此命令在我們的master分支中顯示所有包含“ import”的行。它以不區(qū)分大小寫(xiě)的方式搜索。以下命令將在所有提交和分支中搜索給定的模式。

git grep 'import' $(git rev-list --all)

如果您正在協(xié)作大型項(xiàng)目,這是最好的git命令之一。

管理工作樹(shù)

開(kāi)發(fā)人員可以在git中使用多個(gè)工作樹(shù)。當(dāng)簽出多個(gè)項(xiàng)目分支時(shí),這很有用。檢查以下git命令,以了解如何在git中管理工作樹(shù)。

 git worktree list
 git worktree add new-branch
 git worktree remove new-branch
 git worktree prune

您可以使用第一個(gè)命令顯示當(dāng)前的工作樹(shù)。使用第二個(gè)命令添加一個(gè)新的“鏈接的工作樹(shù)”,并使用第三個(gè)命令刪除該樹(shù)。最后一條命令允許您修剪工作樹(shù)信息。

刪除未跟蹤的對(duì)象

有時(shí)您可能想刪除不再由git跟蹤的對(duì)象。Git提供了一個(gè)簡(jiǎn)單的命令來(lái)執(zhí)行此操作。git prune命令只會(huì)從對(duì)象數(shù)據(jù)庫(kù)中刪除未跟蹤的對(duì)象,而不會(huì)刪除引用本身。

 git prune --dry-run
 git prune --verbose --progress

第一條命令不會(huì)刪除任何內(nèi)容,只會(huì)顯示修剪后會(huì)刪除的對(duì)象。第二條命令在刪除期間提供詳細(xì)的輸出以及進(jìn)度報(bào)告。您可以使用prune命令和git gc命令一起優(yōu)化倉(cāng)庫(kù)。

打包未歸檔文件

在git中,包是單個(gè)壓縮對(duì)象的集合。Git對(duì)這些對(duì)象應(yīng)用增量壓縮并將其存儲(chǔ)在單個(gè)文件中。它們用于減少Linux文件系統(tǒng)或鏡像系統(tǒng)上的負(fù)載。git repack命令允許用戶(hù)創(chuàng)建新的包,這些包由不位于現(xiàn)有包內(nèi)的對(duì)象組成。

git repack

您可以將此命令與gic gc和git prune一起使用,以?xún)?yōu)化git倉(cāng)庫(kù)。

計(jì)算解包的對(duì)象數(shù)量

除非解壓縮的對(duì)象太多,否則不應(yīng)經(jīng)常重新打包對(duì)象。git count-objects命令是一種簡(jiǎn)單但有用的方法,用于查看解包對(duì)象的數(shù)量及其消耗的磁盤(pán)空間。

 git count-objects

使用上面的命令來(lái)確定是否應(yīng)該重新打包git。您可以添加–verbose標(biāo)志以獲取詳細(xì)信息,還可以添加–人類(lèi)可讀標(biāo)志以常規(guī)方式顯示尺寸。

驗(yàn)證對(duì)象數(shù)據(jù)庫(kù)

Git最初是作為文件系統(tǒng)開(kāi)發(fā)的。它具有一個(gè)稱(chēng)為fsck的有用命令,其作用與Unix fsck非常相似。您可以使用此命令來(lái)驗(yàn)證連接性并執(zhí)行對(duì)象的完整性檢查。

 git fsck

運(yùn)行以上命令將顯示在對(duì)象數(shù)據(jù)庫(kù)中找到的所有損壞的對(duì)象。它是查找丟失或不良對(duì)象的最有用的git命令之一。

顯示每次提交的更改

git whatchanged命令是我們最喜歡的git子命令中的另一個(gè)。這是一種查看每個(gè)git commit引入到我們項(xiàng)目的更改的簡(jiǎn)單但有效的方法。

git whatchanged

此git命令將使用提交日志和diff輸出顯示信息。總的來(lái)說(shuō),它的操作與git log命令非常相似。

匯總?cè)罩拘畔?/h3>

您還可以使用git shortlog命令查看歷史記錄。該命令的主要思想是將輸出包含在發(fā)行公告中??焖贋g覽以下命令以了解其工作原理。

 git shortlog
 git shortlog --email --summary

添加–email選項(xiàng)將顯示每個(gè)作者的電子郵件。該-summary選項(xiàng)會(huì)抑制通常輸出,只會(huì)顯示提交的數(shù)目。

管理配置選項(xiàng)

git有大量可用的配置選項(xiàng)。您可以使用git config命令查詢(xún),設(shè)置或替換各種選項(xiàng)??梢詫?duì)特定倉(cāng)庫(kù)和全局配置進(jìn)行更改。

git config --list

40個(gè)適用于Linux管理員和開(kāi)發(fā)人員的git命令(下)

上面的命令將在git中列出所有當(dāng)前設(shè)置的配置選項(xiàng)。您可以輕松添加或刪除新選項(xiàng)。遵循config子命令的幫助頁(yè)面以了解如何執(zhí)行這些任務(wù)。

 git config --help

Git幫助

git或任何其他Linux終端命令的幫助頁(yè)面提供了所有可用選項(xiàng)的摘要信息。當(dāng)您遇到git問(wèn)題時(shí),它應(yīng)該是第一個(gè)訪(fǎng)問(wèn)的地方。快速瀏覽以下命令以了解如何調(diào)用git幫助頁(yè)面。

git help
git --help

因此,您可以使用Unix風(fēng)格的–help選項(xiàng)或git中內(nèi)置的help子命令來(lái)查詢(xún)git幫助頁(yè)面。此外,git還提供了有關(guān)子命令的幫助頁(yè)面。

git <command> --help
git commit --help

手冊(cè)頁(yè)

手冊(cè)頁(yè)包含有關(guān)git版本控制系統(tǒng)及其所有子命令的深入信息。您可以按照以下語(yǔ)法查看它們。

 man git
man git commit

因此,您也可以像使用幫助頁(yè)面一樣查看各個(gè)子命令的手冊(cè)。

顯示版本信息

您可以使用以下簡(jiǎn)單命令查看系統(tǒng)上已安裝的git版本。由于git在很大程度上隨著時(shí)間的推移而發(fā)展,因此各種git版本之間存在顯著差異。

 git --version

只需使用以上命令即可在您的計(jì)算機(jī)上獲取特定版本的git。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 基礎(chǔ)命令 用戶(hù)設(shè)置 初始化倉(cāng)庫(kù) 把文件添加到倉(cāng)庫(kù) 把文件提交到倉(cāng)庫(kù) 添加文件到Git倉(cāng)庫(kù) 分兩步: 第一步,使用命...
    前端渣渣閱讀 1,550評(píng)論 0 20
  • 簡(jiǎn)介 ??git有四個(gè)工作區(qū)域,分別是:工作目錄(Workspace)、暫存區(qū)(Index/Stage)、本地倉(cāng)庫(kù)...
    gybguohao閱讀 21,351評(píng)論 4 21
  • git常用命令總結(jié)[https://www.cnblogs.com/fanyegong/p/5127780.htm...
    G__yuan閱讀 909評(píng)論 0 2
  • 想要學(xué)會(huì)使用Git,首先需要理解什么是分布式版本庫(kù),什么是工作區(qū)和暫存區(qū),這幾個(gè)概念是理解很多命令的基礎(chǔ)。強(qiáng)烈推薦...
    DevelopMyLife閱讀 1,600評(píng)論 0 1
  • 久違的晴天,家長(zhǎng)會(huì)。 家長(zhǎng)大會(huì)開(kāi)好到教室時(shí),離放學(xué)已經(jīng)沒(méi)多少時(shí)間了。班主任說(shuō)已經(jīng)安排了三個(gè)家長(zhǎng)分享經(jīng)驗(yàn)。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,813評(píng)論 16 22

友情鏈接更多精彩內(nèi)容