Git从入门到使用

对于git命令全了解

Githelp.png

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使用还在探索中。有任何使用的指教或问题,欢迎留言!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容

  • 所谓道理,是人用来骗自己的故事而已,所谓哲学,都来自于对文字的错误使用和理解。所以,这世上有所谓的人生法则,成功模...
    小胖子先生阅读 572评论 0 3
  • 一条小河横跨三省, 似那流水般远去,游人如织 那吊脚楼承载我对你的思念,遐想无限 河上游船随波逐流,繁星点点映无帘...
    喃喃涅阅读 153评论 3 1
  • 相见时两生欢喜 相别离各自舔舐 我们渴求不要有时间和距离 可偏偏它的名字叫命运 我想你 却不敢太过想你 曾放肆旋转...
    洛家仁人阅读 253评论 1 5
  • 7月21日,汤圆创作月活跃作者数突破30万,奠定移动创作一家独大的现象,汤圆创作自上线至今,聚集500万+用户,汇...
    李木子81阅读 703评论 0 2