U盤或郵件稽核程式碼作業太繁瑣?你該試試 Git 分支 | 碼雲高校版最佳實踐
作者介紹

高校的傳統軟體工程實踐教學方式,即 學生在實驗室編寫好程式碼,通過使用U盤拷貝或者QQ郵箱的方式傳送給教師稽核程式碼,過程繁瑣且易出問題。 而在 碼雲 使用 Git 分支之間互不影響,成員可以獨立開發 ,這樣不僅可增加團隊軟體開發的效率,還可幫助教師節省時間,提升課堂教學水平。
在我們的團隊中,我作為管理者,建立了一個叫 HelloWorld 的專案,大家各自在本地進行開發,將自己的工作貢獻到我們的團隊專案中。為了便於稽核,我希望大家先將自己的貢獻先放在屬於自己的一個分支上,以後,你把你每次的貢獻都放在這個分支。等我稽核後,認為你的貢獻是用心的、有價值,我再合併到主分支。這個主分支的所有內容就是我們進行團隊開發最終的成果!是不是很有成就感!下面,咱們就開門見山,跟著我邊做邊學!
Step1:
我們先去碼雲上把我建立的 HelloWorld 專案找到,並把它克隆下來。點選“克隆/下載”,把下面這個專案地址複製下來。


Step2:
在本地某個資料夾(你希望這個專案放在哪,如下圖我想把這個專案放在“軟體工程助教”的資料夾下),進入該資料夾,右鍵選擇 git Bash Here 進行 clone 操作,我們使用的命令是:
git clone [專案地址]
這個專案地址就是你剛才複製的我們的專案地址。回車,出現了下圖中提示,done.說明克隆完成,這時候你的資料夾下就有了一個 HelloWorld 的資料夾,以後,我們的每次貢獻程式碼就放在這裡。下面,我們要在這個 HelloWorld 檔案裡進行操作,所以要看仔細了,我們現在還沒有進入到這個資料夾,我使用
cd HelloWorld/
進入到這個資料夾,現在我們就可以進行下面的工作了。

Step3:
接下來,你就安心的進行開發吧,1個小時後(我相信以你的能力這點小問題1個小時完全可以解決!),你的程式碼完成了,就可以把你的工作貢獻到專案上了,看下面我寫好了一個 HelloWorld_Test,存在於我們的 HelloWorld 資料夾下。

Step4:
但是現在,我做的工作還在我本地,下面我們就要把我們做的工作貢獻到遠端的專案中(碼雲專案)。而且,正如我所說,我們做的工作難免會有疏漏和錯誤,這是不能直接作為專案的一部分的。所以我們還要在遠端建立分支,先把我們的工作放在裡面。接下來,我們繼續進行操作(再次檢視一下你的git命令列是否在 HelloWorld 這個專案資料夾裡)先在本地建立一個分支,名叫 mzf:
git checkout -b mzf
當你使用了我上面的命令時,實際上你不僅建立了一個新分支,而且你會發現你已經在這個分支裡了,如下圖藍色括號裡的內容由( master )變成了( mzf ),如果你不放心有沒有建立成功,還可以像我一樣,使用
git branch -a
檢視所有分支,來確定裡面有沒有屬於你的那個分支,如下圖,出現了 master 和 mzf,說明我剛才建立的分支成功了。但是細心的你繼續往下看,是否發現下圖中的紅色語句,它是在提醒我們:在遠端倉庫中,還沒有這個分支,如果這個時候進行 push,會將你的專案 push 到 master 分支,但這不是我們想要的。所以,我們還要建立遠端的 mzf 分支。

Step5:
要能使我們的工作 push 過去,我相信大家通過學習都知道還需要先進行 git add 和 git commit -m 操作,但是這裡我還是想讓大家養成好習慣:git add 之前先檢視。使用下面的命令:
git status
我們發現你工作的所有內容都會以紅色的語句提示給你。確定這是你的工作內容後,就可以安心進行 git add 了。
git add .
git commit -m"test"
git add 後的“."表示將所有檔案從工作區存到暫存區,然後使用 git commit -m "test" (引號的內容可以是本次更新版本等資訊)將暫存區內容提交到本地分支。完成之後可以再檢視一下當前狀態。



Step6:
將檔案提交到本地分支後,就可以提交到遠端倉庫了。我們先進行
git push
這時候它提示我們下圖中的語句,是說:遠端沒有這個分支,如果你想把 mzf 分支提交到遠端的mzf分支,需要使用
git push --set-upstream origin mzf
這樣,我們就在遠端倉庫也建立了一個同名分支,並且將本地分支的內容提交上去了。

Step7:
我們進入碼雲的團隊專案中檢視分支,發現多了一個 mzf 分支,選擇這個分支,裡面的內容就是你提交的工作。至此,我們的任務就完成了。下面就是等待稽核了。我相信,只要我們勤奮用心,我們的付出都是有價值的!


Step8:
完成以上步驟之後,以後我們每次提交工作不需要再建立新的分支,而是提交到你第一次建立的分支中。這時,我們只需要先進入自己的分支,使用命令:
git checkout [分支名]
然後在該分支中進行 add、commit 和 push 操作,而且由於倉庫中已經有我們的分支,所以我們可以直接使用命令:
git push
總結與提示:
通過以上步驟,不僅提高了學生提交實驗程式碼效率,還很好的培養了學生的團隊協作與溝通能力。通過 碼雲 構建真實的“情景化”教學,使得每一個知識點都簡單明瞭,易於掌握。最重要的是,隨時隨地教師都可以與學生進行互動,答疑解惑,改變了高校傳統教學中固定時間、固定教室的單一模式。
除此之外, 碼雲 高校版中還提供程式碼質量檢測、人員貢獻統計等功能,可以輔助教師完成對學生的教學評分,提高教學質量與結果。
更多關於碼雲高校版的資訊,請訪問 https://gitee.com/education
往期精彩:
功能更新 | 碼雲上線 Pull Request 自動分析程式碼質量功能
功能更新 | 碼雲支援 Git Wire Protocol,提升傳輸效率
功能更新 | 如何控制 Git 庫的膨脹?碼雲 GC 一步搞定!
