1.git
初始化本地倉庫 git init
關聯遠程倉庫 : git remote add origin <address>
克隆: git clone <address>
拉取:git pull origin master
添加:git add .
提交:git commit -m "..."
推送:git push (-u) origin master 第一次加-u,加上-u指定當前origin倉庫爲主倉庫,
之後使用 git pull / git push 默認爲這個倉庫。
git安裝與配置:
windows 下需要配置環境變量GIT_HOME, PATH(bin,/usr/bin)usr/bin
執行 ssh-keygen -t rsa -C "email address" 生成ssh公鑰,將這個公鑰添加到遠程倉庫中
ubuntu https://blog.csdn.net/vslyu/article/details/80337675
常用命令:
安裝後配置用戶名和郵箱:(--global 爲全局,也可以單獨爲一個項目設置)
git config --global user.name "name"
git config --global user.email "email"
查看當前倉庫的狀態:
git status
查看提交日誌:(可以看到提交編號&說明信息等)
git log
git reflog
版本回退:(HEAD可以用提交編號)
git reset --hard HEAD^ 回退到上一個版本
git reset --hard HEAD^^ 回退到上兩個版本
git reset --hard HEAD~100 回退到前100個版本
回到過去使用git log 確定版本號、返回未來使用git reflog 確定版本號
創建分支:
git checkout -b dev (-b 表示創建並且切換)
git branch dev
查看所有分支:(* 代表當前分支)
git branch
git branch -a
切換回主分支:
git checkout master
合併某一分支:
git merge dev
刪除分支:
git branch -d dev
工作失誤操作:
如果當前工作還在工作區,那麼使用 git checkout -- <filename> 來恢復爲之前的文件
如果已經放入到了暫存區,那麼使用 git reset HEAD <filename> 來恢復到工作區中
如果已經提交到了本地倉庫中,那麼就需要回退一個版本 git reset --hard HEAD^
添加標籤:
git tag v1.0 (給當前最新的commit打上標籤)
git tag v0.9 <commit_id> (給歷史版本打上標籤)
查看標籤
git tag
查看標籤信息:
git show <tagname>
標籤的使用例子:
git tag -a v0.1 -m "version 0.1" <commit_id>
刪除標籤:
git tag -d v0.1
推送標籤到遠程:
git push origin <tagname> (推送一個)
git push origin --tags (推送所有)
刪除遠程標籤:
git tag -d <tagname>
git push origin :refs/tags/<tagname>
git分支管理: https://blog.csdn.net/u014041012/article/details/50676702
2.maven命令
jdk 安裝與配置:https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html
maven 安裝與配置:https://blog.csdn.net/csj941227/article/details/78253480
創建Java項目:
mvn archetype:generate -DgroupId=packageName -DartifactId=projectName -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
創建Javaweb項目命令:
mvn archetype:generate -DgroupId=package -DartifactId=webappName -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
3.gradle嘗試
構建項目:https://gradle.org/guides/#getting-started
#瞭解Groovy: (將要使用這種語言來構建項目,完全兼容Java,因爲都是基於jvm的)
Groovy 語言的特點:
1.句尾可以不加分好
2.方法的最後一個表達式默認爲返回值
3.字段有默認的getter setter 方法
4.不會有空指針異常, == 和 equals 是相同的
5.def 可選類型定義
6.括號是可選的
7.集合list 、map實際類型爲Java中的ArrayList和 LinkedHashMap
代碼:(隨便看,回憶一下)
public class ProjectVersion{
private int major
private int minor
public ProjectVersion(int major, int minor){
this.major = major
this.minor = minor
}
public int getMajor(){
major
}
public void setMajor(int major){
this.major = major
}
}
ProjectVersion v1 = new ProjectVersion(1,2);
println v1.major
ProjectVersion v2 = null
println v2 == v1
//可選的類型定義
def version = 1
//assert
//assert version == 2
//括號是可選的
println(version)
println version
// 字符串
def s1 = 'imooc'
def s2 = "gradle version : ${version}"
def s3 = '''myname
is
liyuan'''
println s1
println s2
println s3
//集合api
//list
def buildTools = ['ant','maven']
buildTools << 'gradle'
assert buildTools.getClass() == ArrayList
assert buildTools.size() == 3
//map
def buildYears = ['ant':2000,'maven':2004]
buildYears.gradle = 2009
println buildYears.ant
println buildYears['gradle']
println buildYears.getClass()
//閉包
def c1 = {
v ->
print v
}
def c2 = {
print "hello"
}
def method1(Closure closure){
closure('param')
}
def method2(Closure closure){
closure()
}
method1(c1)
method2(c2)
gradle任務
def createDir = {
path ->
File dir = new File(path)
if( !dir.exists() ){
dir.mkdirs()
}
}
task makeJavaDir(){
def paths = ['src/main/java','src/main/resources','src/test/java','src/test/resources']
doFirst{
paths.forEach(createDir)
}
}
task makeWebDir(){
dependsOn 'makeJavaDir'
def paths = ['src/main/webapp']
doLast{
paths.forEach(createDir)
}
}
依賴管理:
常用倉庫:mavenCentral / jcenter
repositories { maven{ url '' } mavenLocal() mavenCentral() }
可以配置多個依賴倉庫、按它們的排列順序來查找依賴,上面代碼先是自定義的倉庫
之後是本地maven倉庫,之後是公共倉庫
由於依賴具有傳遞性,所以會產生依賴衝突,出現依賴衝突gradle會採用最新的,
修改默認解決策略:(...感覺沒用)
configurations.all{ resolutionStrategy{ failOnVersionCOnflict() } }