天天看點

Git、Maven、Gradle

Git:版本控制工具、分布式

1. git remote add origin [email protected]:path/repo-name.git;

   git push -u origin master; //将最新修改推送到遠端伺服器

   git clone [email protected]:path/repo-name.git; // 從遠端伺服器上克隆到本地

2. 分枝管理

   git checkout -b dev; // 建立新的分枝dev

   git branch; // 檢視分枝

   git checkout master; // 切換分枝到master

   git merge dev; // 合并某分枝到目前分枝

   git checkout -d dev; // 删除分枝dev

   git merge --no-ff -m "xxxx" dev; // 

   git stash; // 把目前工作現場“儲存”起來,等以後恢複現場後繼續工作

   git stash list; // 檢視工作現場

   git stash pop; // 恢複現場

3. 多人協作工作模式

   首先,可以試圖用git push origin branch-name推送自己的修改

   如果推送失敗,則因為遠端分支比你的本地更新,需要先用git pull試圖合并

   如果合并有沖突,則解決沖突,并在本地送出

   沒有沖突或者解決掉沖突後,再用git push origin branch-name推送就能成功

   在本地建立和遠端分支對應的分支,使用git checkout -b branch-name origin/branch-name,本地和遠端分支的名稱最好一緻

可能會出現錯誤:fatal: Cannot update paths and switch to branch 'dev' at the same time.

解決方案:先git fetch; 再git checkout -b branch-name origin/branch-name

   建立分支和遠端分支的關聯,使用git branch --set-upstream branch-name origin/branch-name

4. 标簽管理:标簽也是版本庫的快照

   git tag <name>; // 建立标簽,預設為HEAD,也可以指定commitid

   git tag -a <name> -m "xxx"; // 可以指定标簽資訊

   git tag -s <name> -m "xxx"; // 可以用PGP簽名标簽

   git tag; // 檢視所有标簽   git show <name>; // 顯示指定标簽的資訊

   git push origin <tagname>; // 推送一個本地标簽

   git push origin --tags; 可以推送全部未推送過的本地标簽

   git tag -d <tagname>; 可以删除一個本地标簽

   git push origin :refs/tags/<tagname>; // 可以删除一個遠端标簽

5. git更新檔

   生成更新檔:git format-patch -1; 或者 git format-patch HEAD^;

   應用更新檔:git apply patch

項目管理:Maven、Gradle

Maven教程:項目建構、依賴管理、項目資訊管理

作用:(1)幫你下載下傳jar包。在核心配置檔案pom.xml中添加dependency節點(<groupId>、<artifactId>、<version>...),Maven自動幫你下載下傳jar包

     (2)尋找依賴,幫你下載下傳依賴。配置的jar包本身可能會包含依賴的jar,Maven會把這些依賴的jar包也都下載下傳下來

     (3)熱部署、熱編譯。在項目運作時,修改代碼能直接被伺服器接受,就不需要重新啟動伺服器或者重新部署代碼

環境配置:下載下傳安裝後,配置MAVEN_HOME和Path環境變量,類似JDK的配置

用的最多的指令:mvn eclipse:clean -- 清除Project中以前編譯的東西,重新再來

mvn eclipse:eclipse -- 開始編譯Maven的Project

mvn clean package -- 清除以前的包後重新打包

Maven在Eclipse中的具體使用:(1)安裝和配置(setting.xml):

本地倉庫位置,可修改,預設為使用者工作目錄下的".m2/repository"

中央倉庫鏡像,可添加其他的鏡像位址

   (2)Eclipse中添加Maven插件

插件安裝,Instance NewSoftWare

配置,添加Maven安裝路徑,設定自定義的本地倉庫

   (3)使用Maven建構Web項目

New Maven Project,在pom.xml中添加一些插件資訊<plugins>

使用Maven添加依賴的jar包,添加節點<dependency>

将Maven項目轉化為Eclipse項目,并且将對應需要的jar添加在Path中(build path)

   (4)Maven編譯和釋出項目

選中pom.xml run as Maven install

Gradle教程:Groovy

通俗來說:Gradle就是打包用的

    (1)為什麼打包:制作的項目需要釋出到伺服器或者給别人用,不可能讓每台機器都安裝Eclipse,也不可能将源碼直接發個别人,是以需要把代碼釋出成二進制檔案,友善其他環境運作,這就是打包

    (2)為什麼用Gradle打包:Gradle集合了Ant和Maven的優點,Ant可以自動化打包邏輯,用xml檔案的形式自動運作,Maven也可以自動化打包,并且可以幫助下載下傳jar包,但Maven打包邏輯定制比較麻煩。Gradle既能夠自動化打包,又能自己編寫腳本,并且編寫的腳本比ant好用

環境配置:下載下傳安裝,配置GRADLE_HOME和Path環境變量,類似JDK的配置

檔案:build.gradle -- 建構腳本,指定一個項目和和它的任務

     gradle.properties -- 屬性檔案,配置建構屬性

     gradle.settings -- 設定檔案,對于多項目的建構是必需的,描述哪個項目參與建構

常用指令:gradle build -- 運作build.gradle檔案,會在工程目錄下生成build檔案夾,build目錄下包含classes、dependency-cache、libs、tmp四個目錄,libs目錄下包含jar包,jar包包含main下的所有Java檔案和資源檔案

 gradle clean -- 清除生成的build目錄

 gradle assemble -- 編譯Java檔案但不檢查代碼品質

 gradle check -- 檢查代碼品質而不需要打包jar包之類的額外工作

 Gradle是增量式編譯,隻編譯那些有變動的Java類或資源檔案,如UP-TO-DATE表示有更新

加入項目所依賴的jar包:配置repositories,相當于存儲jar包的倉庫,可以指定為本地的依賴jar包,也可以利用Maven所指定的倉庫,如mavenCentral()

      配置dependencies來包含所真正依賴的jar包,格式“group:name:version”

繼續閱讀