上一篇簡單的介紹了Git的安裝以及使用等换淆,簡單回顧下步驟:
1心褐,下載Git,然后一直next安裝完成
2誊役,配置信息和查看配置信息
3获列,初始化
4,提交代碼(本地代碼庫和遠程代碼庫)
這也就是Git最基本的用法蛔垢,現(xiàn)在來聊聊進階點的用法
(一)忽略文件
在上篇中击孩,我們的代碼庫創(chuàng)建完成了,也可以將代碼提交了啦桌,但是有個問題溯壶,如果有些文件我們不需要添加到庫中,我們應(yīng)該怎么做呢甫男?當(dāng)然我們可以一個文件一個文件的去操作,但是這種很耗時耗力验烧,比如板驳,在項目結(jié)構(gòu)當(dāng)中,build目錄下的文件都是編譯項目時生成的碍拆,這個目錄下存放著一些我們不需要的東西若治,比如apk,我們不應(yīng)該將這部分文件添加到庫中感混,我們應(yīng)該怎么做端幼?
其實Git提供了一種可配性很強的機制來允許用戶指定哪些文件不用提交,它會檢查代碼庫中目錄下是否存在一個.gitignore文件弧满,如果存在婆跑,就去執(zhí)行這里面的代碼,并且把里面每一行指定的文件或者目錄都不添加到庫庭呜,然而當(dāng)我們創(chuàng)建完Android項目時滑进,都會有這個文件,并且有兩個募谎,一個是根目錄下扶关,一個是app下,我們分別來看看
根目錄下的.gitignore
# Built application files
*.apk
*.ap_
# Files for the ART/Dalvik VM
*.dex
# Java class files
*.class
# Generated files
bin/
gen/
out/
# Gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log
# Android Studio Navigation editor temp files
.navigation/
# Android Studio captures folder
captures/
# Intellij
*.iml
.idea/workspace.xml
.idea/tasks.xml
.idea/libraries
# Keystore files
*.jks
# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild
不知道你們發(fā)現(xiàn)沒有数冬,每一個目錄前面都有一個“#”节槐,這個符號的意思是代表這個目錄下的所有文件,不難看出,配置的都是一些不需要上傳的東西铜异,如apk地来,log,jks等熙掺,現(xiàn)在在來看看app下的.gitignore
app下的.gitignore
/build
就是一個build未斑,表示build目錄也不會被提交,不過注意币绩,這里是用 “/” 來表示的蜡秽,了解這兩個.gitignore之后,我們就可以任意的修改我們不需要提交的文件了缆镣,比如這樣
/build
/sre/test
/src/androidTest
這里指定了測試文件都不提交芽突,因為測試文件都是存放在這兩個目錄下,而且測試主要是在開發(fā)過程中來檢查代碼是否正確董瞻,真正完成項目之后寞蚌,就沒用了,所以我們可以不提交它們
(二)查看修改內(nèi)容
我們在提交完代碼后還可以查看修改過的內(nèi)容钠糊,通過命令
git status
我們來看看怎么做挟秤,我們首先在MainActivity隨便修改點東西,然后我們在Git Bash輸入命令抄伍,看下結(jié)果
可以看到艘刚,紅色那段說我們的MainActivity被修改了,然后我們可以通過命令來看看修改了什么
git diff app/src/main/java/com/mycoolweather/activity/MainActivity.java
如果我們僅僅想看這個類改了什么截珍,就可以通過全路徑的方式來查看俺泣,結(jié)果如下
紅色部分表示刪除夸赫,綠色表示添加,這里出現(xiàn)亂碼那是因為這兩段都是注釋,這里可能識別不了素跺,我們來看看修改什么
沒錯捧毛,我們將之前的注釋改成現(xiàn)在這個注釋示罗,是不是挺簡單的呢妖啥?
撤銷未提交的修改
這里注意,是沒有提交的修改才可以撤銷诞丽,否則是不行的鲸拥,我們想撤回修改前的代碼,可以使用命令
git checkout app/src/main/java/com/mycoolweather/activity/MainActivity.java
然后我們在用git status查看下僧免,會發(fā)現(xiàn)
當(dāng)前項目沒有可提交的文件刑赶,說明了我們撤銷成功了
這里有個注意點,如果我們調(diào)用了git add命令了懂衩,在調(diào)用git checkout就無法撤回了撞叨,因為已經(jīng)添加了金踪,這時候我們可以用取消命令來取消添加,命令如下
git reset HEAD app/src/main/java/com/mycoolweather/activity/MainActivity.java
之后我們就可以做上面的操作了牵敷,這時候就跟原來的一樣了
查看提交記錄
我們可以通過命令來查看我們提交的記錄胡岔,命令是
git log
之后我們就可以看到我們的提交記錄了
我們可以看到每次提交的信息,有提交人枷餐,提交時間以及描述靶瘸,細心的你看到了有兩個提交人,但是他們都是統(tǒng)一郵箱毛肋,那是因為這個項目有兩個代碼庫怨咪,也就是說同一個項目我放到兩個代碼庫里面,如果你想看提交的內(nèi)容润匙,命令如下
git log a39a1e98fbf0618ea99ddff0e91f104ce6e6468f -1
通過git log加上提交的標(biāo)識并且加上-1我們就可以看到這行記錄了
然后我們可以查看這條記錄的內(nèi)容诗眨,只需要在查看記錄的命令后面加上-p就可以了
git log a39a1e98fbf0618ea99ddff0e91f104ce6e6468f -1 -p
然后結(jié)果如下
好了,到這里基本就結(jié)束了孕讳,用命令來玩Git是不是很爽很裝逼呢匠楚?哈哈哈哈哈