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”