有了《使用開源中國(碼雲)託管代碼》和《使用博客園進行學習》, 很多同窗可使用使用碼雲和博客園來學習了,也有很多同窗仍是誤用。我以一週的學習過程爲例,寫一個step by step的教程。html
咱們以Linux(Ubuntu)環境下的學習爲例,須要你掌握別出心裁的Linux命令學習法中的內容。java
首先在Ubuntu中安裝配置git,user.name中最好有學號信息:git
sudo apt-get install git git config --global user.name "20155200rocedu" git config --global user.email "rocedu@qq.com"
我在碼雲上創建了課程組織BESTI.IS.Java2017,你們能夠在組織中建立本身的學習項目:web
如今助教和課表明已是管理員了,參考2016-2017-2 《Java程序設計》課程學生博客和代碼託管連接儘快把同窗們加爲「開發者」:vim
咱們能夠在組織中經過點擊「新建項目」創建本身的學習項目了,項目名稱中必定要體現學號信息,語言和.gitignore都選擇Java:微信
建好的學習項目以下圖所示:post
咱們在Ubuntu中經過git clone https://git.oschina.net/bestiisjava2017/ljp20155200_JavaProgramming.git
來克隆咱們的學習項目,
須要注意的是,項目連接有兩種方式HTTPS和SSH兩種,咱們選擇複製HTTPS的連接,這樣不須要公私鑰對,只要碼雲的用戶名和口令就好了。想用SSH的能夠本身學習。學習
如上圖,參考《Java學習筆記(第8版)》學習指導創建教材學習項目目錄,咱們先使用mkdir src
,mkdir bin
創建src和bin目錄。咱們經過vi src/Hello.java
或atom src/Hello.java
編輯代碼,輸入如下程序:測試
1 public class Hello { 2 public static void main(String []args){ 3 System.out.println("Hello Java World!"); 4 } 5 }
下面咱們編譯運行Hello.java程序。最簡單的辦法是到src目錄中使用javac Hello.java
,Java Hello
進行編譯和運行。這時Hello.java和Hello.class都在src目錄中,以下圖咱們經過javac -d bin src/Hello.java
把Hello.class產生在bin目錄中,經過cd bin
,java Hello
,cd ..
來運行Hello.class 並保證工做目錄是項目根目錄:網站
代碼編譯運行沒有問題了,咱們經過git add .
,git commit
把剛纔的工做歸入版本控制,經過"git push"把咱們的工做推送到碼雲上。
到碼雲上 咱們能夠看到本地的代碼和腳本已經上傳到網站上了。
編譯運行咱們能夠經過vim run.sh
寫一個腳本簡化,之後可使用Ant,Gradle等讓編譯自動化。
#!/bin/sh javac -d bin src/Hello.java cd bin java Hello cd ..
注意要用chmod +x run.sh
給腳本加上執行權限。腳本測試沒有問題,咱們使用git add .
,git commit -m "add run script"
把腳本歸入版本控制中。
咱們使用vim src/Hello.java
編輯Hello.java代碼,加入一行打印己學號姓名的代碼:
1 public class Hello { 2 public static void main(String []args){ 3 System.out.println("Hello Java World!"); 4 System.out.println("Hello 20155200 rocedu!"); 5 } 6 }
經過腳本進行編譯、運行的結果以下:
沒有問題,咱們使用git add .
,git commit -m "print student id and name"
把新加代碼提交到版本控制系統中。
這樣,參考積極主動敲代碼,使用JUnit學習Java中的學習方法就能夠進行實踐學習了。遇到問題參考《使用JDB調試Java程序》,《Intellj IDEA 簡易教程》進行調試。
咱們每週的學習要經過在博客園發博客,碼雲 也是博客寫做,預覽的好平臺,同時也把博客的寫做歸入了版本控制。
咱們先運行mkdir docs
,touch docs/java_homework_week1.md
建立docs目錄和空文件「java_homework_week1.md」。
咱們經過git add .
, git commit -m "init docs with empty java_homework_week1.md"
把做業博客歸入版本控制。
咱們經過git push
把做業推送到碼雲 上:
在碼雲 上咱們看到了docs文件夾:
點擊docs文件夾,打開「java_homework_week1.md」,點擊「編輯」就能夠寫做業了:
爲了規範做業,我在2016-2017-2 《Java程序設計》教學進程中給出了做業模板的Markdown 內容,做業提交要嚴格按模板提交,咱們先把模板拷貝過來,並進行提交:
提交說明是「拷貝做業模板」,這等價於 git commit -m "拷貝做業模板", 點擊「提交到master」按鈕。
要養成寫一段完整文檔提交一次的習慣。
做業模板包含如下要素,不要遺漏:
咱們給幾個簡單的例子,點擊「編輯」:
首先把標題中的「學號」改爲本身的學號,方便老師識別做者,而後把「第X周」改爲「第一週」
要注意模板中「教材學習內容總結」,之前很多同窗寫做業在此浪費了大量時間,寫總結要:
這樣才能體現差別化,固然你也能夠預測老師會考什麼,在此列出來備查,必定不能長篇大論,內容卻千篇一概。
好比咱們總結出了三個要點,在提交信息中寫「完成學習要點」,而後點擊「提交到master」按鈕。
咱們的學習模板參考了鄒欣老師(博客,微博,豆瓣)設計的進度條,進度條用好對學習的促進做用很是大的,實踐一年來效果不太好,主要各類緣由形成學習數據亂填。
爲此我設計了一節「代碼託管」,要求學生有兩個截圖:
後來我寫了個腳本直接把這個過程自動化了:
#!/bin/sh clear echo "//==========Today=====================================" echo "code summary infomation:" find . -name "*.java" -mtime 0 | xargs cat | grep -v ^$ | wc -l echo "documents summary infomation:" find . -name "*.md" -mtime 0 | xargs cat | grep -v ^$ | wc -l echo "" echo "//==========This Week=================================" echo "code summary infomation:" find . -name "*.java" -mtime -7| xargs cat | grep -v ^$ | wc -l echo "documents summary infomation:" find . -name "*.md" -mtime -7| xargs cat | grep -v ^$ | wc -l git log --pretty=format:"%h - %an,%ci: %s " | grep `date +%F --date="-0 days"` git log --pretty=format:"%h - %an,%ci: %s " | grep `date +%F --date="-1 days"` git log --pretty=format:"%h - %an,%ci: %s " | grep `date +%F --date="-2 days"` git log --pretty=format:"%h - %an,%ci: %s " | grep `date +%F --date="-3 days"` git log --pretty=format:"%h - %an,%ci: %s " | grep `date +%F --date="-4 days"` git log --pretty=format:"%h - %an,%ci: %s " | grep `date +%F --date="-5 days"` git log --pretty=format:"%h - %an,%ci: %s " | grep `date +%F --date="-6 days"` echo "" echo "" echo "//==========All=================================" echo "code summary infomation:" find . -name "*.java"| xargs cat | grep -v ^$ | wc -l echo "documents summary infomation:" find . -name "*.md"| xargs cat | grep -v ^$ | wc -l echo "commit history:" git log --pretty=format:"%h - %an,%ci: %s "
在「代碼託管」部分貼這個腳本的截圖就能夠了。能夠看出本身天天,本週,這學期寫了多少文檔,多少代碼。
「代碼託管」的連接要改爲本身的學習項目連接:
在碼雲上寫的文檔,要同步到本身的電腦上,只要運行git pull
就好了。
咱們運行一下"statistics.sh"腳本,咱們能夠看到本身的學習進度:
每週做業中要對這個結果截圖,使用博客園的上傳圖片功能能夠生成Markdown圖片連接![](http://images2015.cnblogs.com/blog/741560/201703/741560-20170302072056626-389386440.png)
咱們把這個連接插入碼雲上的做業博客中:
完成了本週學習任務,咱們能夠經過「一鍵複製」 把做業博客的內容複製,而後去博客園班級中去提交做業了.
最後,完成本週的學習任務,必定要運行git push
就能夠把本週學習成果推送到碼雲上。
總結一下咱們課上的git使用流程是:
git commit -m "提交信息"中提交信息的寫法參考《Commit message 和 Change log 編寫指南》,最重要的一點是「One Thing One Commit」,不要寫了一週的代碼,週末提交一次,全部代碼的msg都是「第XX周代碼」
必定要注意,這個教程教你如何在第一週就可使用git和博客園來完成學習,git的使用和背後的原理還要多多學習。
上課學習流程參考代碼驅動的程序設計學習.
代碼推送參考Ubuntu下git的安裝與使用
團隊項目參考使用GitHub進行團隊合做.
歡迎關注「rocedu」微信公衆號(手機上長按二維碼)
作中教,作中學,實踐中共同進步!
版權聲明:自由轉載-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0
若是你以爲本文對你有幫助,請點一下左下角的「好文要頂」和「收藏該文」