對于git命令全了解
Git常用命令簡介
命令頭 | 詳解 | 使用 |
---|---|---|
clone | 復(fù)制遠(yuǎn)程倉庫的工程到本地 | git clone https://...../text.git |
init | 初始化一個新的工程或者是已經(jīng)存在的工程 | git init path (path為本地路徑) |
add | 添加文件 | git add . (添加文件夾下面的所有文件到git) |
mv | 移動或重命名一個文件或文件夾 | git mv |
bisect | 使用二進(jìn)制搜索找到引入錯誤的提交 | git bisect help 可以查看到命令充择,主要包括start/bad/good/new /old等命令 |
grep | 在有沖突的時候打印==分割線 | none |
log | 顯示提交日志 | ———— |
show | 顯示各種類型的對象 | ———— |
status | 顯示工作樹狀態(tài) | ———— |
branch | 列出德玫,創(chuàng)建或刪除分支 | git branch -help可以看到,包括對分支的操作命令 |
checkout | 切換分支或恢復(fù)工作樹文件 | 先git branch 查看分支椎麦,然后git checkout 分支名 切換分支 |
commit | 記錄對存儲庫的更改 | git commit -m “commit tag” |
diff | 顯示提交宰僧,提交和工作樹等之間的更改 | git dif one Branch Other Branch |
fetch | 從存儲倉庫獲取更新到本地,但是沒有合并 | git fetch all |
merge | 將兩個或更多的分支合并 | git merge other branch name達(dá)到合并的效果 |
rebase | 重新應(yīng)用提交到另一個基本提示頂部 | |
tag | 創(chuàng)建观挎,列出琴儿,刪除或驗證使用GPG簽名的標(biāo)記對象 | 使用方法類似branch |
pull | 從另一個存儲庫或本地分支獲取并集成 | git pull origin branchName |
help | 幫助 | ———— |
git rebase
命令和merge命令作用相似。
如果你想要一個干凈的嘁捷、線性的提交歷史造成,沒有不必要的合并提交,你應(yīng)該使用git rebase 而不是git merge 來并入其他分支上的更改雄嚣。
另一方面晒屎,如果你想要保存項目完整的歷史,并且避免重寫公共分支上的commit缓升, 你可以使用git merge鼓鲁。兩種選項都很好用,但至少你現(xiàn)在多了git rebase這個選擇仔沿。
命令使用技巧
新建/刪除
//新建文件
touch a.txt
//刪除文件
rm a.txt
//新建文件夾
mkdir folder
//刪除文件件
rm -rf folder
新建分支并切換到分支
git checkout -b branch1
```
相當(dāng)于
```
//新建分支
git branch branch1
//切換分支
git checkout branch1
```
### 刪除分支
刪除分支branch1
```
git branch -d branch1
```
強(qiáng)制刪除分支branch1
```
git branch -D branch1
```
### 獲取更新
```
//獲取更新可以是當(dāng)前分支也可以是不同分支
git pull origin master
```
最好使用下面命令
```
git fetch master
git merge master
```
### 解決沖突
首先切換到分支branch1坐桩,并提交本地更改3.1.txt文件之后的代碼
![conflict1.png](http://upload-images.jianshu.io/upload_images/2957708-f198aadfcefaddac.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
然后切換回到主分支,修改3.1.txt文件并提交封锉。
![conflict2.png](http://upload-images.jianshu.io/upload_images/2957708-a5fdad3ca870d6f2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
合并branch1分支的代碼到主分支
![conflict3.png](http://upload-images.jianshu.io/upload_images/2957708-b6cdad82fc069f7c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
打開3.1.txt文件,顯示如下
![conflict4.png](http://upload-images.jianshu.io/upload_images/2957708-b2cb3aca9668aaf5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
修改沖突膘螟,重新添加并提交成福,可以成功
![conglict5.png](http://upload-images.jianshu.io/upload_images/2957708-31a23a1e8554856c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
沖突解決完成。
## 添加忽略
git同步開發(fā)荆残,有很多的文件是不需要同步的奴艾,一般使用Android Studio開發(fā)。需要忽略的文件包括build内斯,apk蕴潦,證書文件等等。
只需要編寫```.gitignore``` 并在文件中添加如下:
```
*.iml.gradle/
local.properties/
.idea
.DS_Store
/build
/captures
### Android
template
# 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
.idea/
workspace.xml
# Keystore files
*.jks
```
這里俘闯,如果新建文件直接保存為```.gitignore ``` 文件是不合法的潭苞,保存不成功,解決辦法是隨意新建文檔真朗,另存為 ``` .gitignore ``` 文件即可此疹。
## 參考鏈接
參考鏈接更加詳細(xì)
[常用 Git 命令清單](http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html) http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html
[Git 工作流程,三種工作流程介紹](http://www.ruanyifeng.com/blog/2015/12/git-workflow.html) http://www.ruanyifeng.com/blog/2015/12/git-workflow.html
[Git 使用規(guī)范流程](http://www.ruanyifeng.com/blog/2015/08/git-use-process.html) http://www.ruanyifeng.com/blog/2015/08/git-use-process.html
[更加詳細(xì)的GIt操使用](http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000)
![all.png](http://upload-images.jianshu.io/upload_images/2957708-47b71e6b34f7d46c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
## 結(jié)束
關(guān)于git使用還在探索中。有任何使用的指教或問題,歡迎留言蝗碎!