对于git命令全了解
Git常用命令简介
命令头 | 详解 | 使用 |
---|---|---|
clone | 复制远程仓库的工程到本地 | git clone https://...../text.git |
init | 初始化一个新的工程或者是已经存在的工程 | git init path (path为本地路径) |
add | 添加文件 | git add . (添加文件夹下面的所有文件到git) |
mv | 移动或重命名一个文件或文件夹 | git mv |
bisect | 使用二进制搜索找到引入错误的提交 | git bisect help 可以查看到命令,主要包括start/bad/good/new /old等命令 |
grep | 在有冲突的时候打印==分割线 | none |
log | 显示提交日志 | ———— |
show | 显示各种类型的对象 | ———— |
status | 显示工作树状态 | ———— |
branch | 列出,创建或删除分支 | git branch -help可以看到,包括对分支的操作命令 |
checkout | 切换分支或恢复工作树文件 | 先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达到合并的效果 |
rebase | 重新应用提交到另一个基本提示顶部 | |
tag | 创建,列出,删除或验证使用GPG签名的标记对象 | 使用方法类似branch |
pull | 从另一个存储库或本地分支获取并集成 | git pull origin branchName |
help | 帮助 | ———— |
git rebase
命令和merge命令作用相似。
如果你想要一个干净的、线性的提交历史,没有不必要的合并提交,你应该使用git rebase 而不是git merge 来并入其他分支上的更改。
另一方面,如果你想要保存项目完整的历史,并且避免重写公共分支上的commit, 你可以使用git merge。两种选项都很好用,但至少你现在多了git rebase这个选择。
命令使用技巧
新建/删除
//新建文件
touch a.txt
//删除文件
rm a.txt
//新建文件夹
mkdir folder
//删除文件件
rm -rf folder
新建分支并切换到分支
git checkout -b branch1
```
相当于
```
//新建分支
git branch branch1
//切换分支
git checkout branch1
```
### 删除分支
删除分支branch1
```
git branch -d branch1
```
强制删除分支branch1
```
git branch -D branch1
```
### 获取更新
```
//获取更新可以是当前分支也可以是不同分支
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同步开发,有很多的文件是不需要同步的,一般使用Android Studio开发。需要忽略的文件包括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 ``` 文件即可。
## 参考链接
参考链接更加详细
[常用 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 使用规范流程](http://www.ruanyifeng.com/blog/2015/08/git-use-process.html) http://www.ruanyifeng.com/blog/2015/08/git-use-process.html
[更加详细的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
## 结束
关于git使用还在探索中。有任何使用的指教或问题,欢迎留言!