git相关内容:

产生密钥:
cd ~/.ssh (C:\Users\账户名称\.ssh)
生成密钥:ssh-keygen -t rsa -C "your_email@youremail.com"
Enter就行。然后,会提示你输入密码,如下(建议输一个,安全一点,当然不输也行):

添加公钥到你的github帐户:
1,登陆你的github帐户。然后 Account Settings -> 左栏点击 SSH Keys -> 点击 Add SSH key
2、然后你复制上面的公钥id_rsa.pub内容,粘贴进“Key”文本域内。 title域,你随便填一个都行。
点击 Add key,验证:ssh -T git@github.com(git地址)即可

git命令
git  branch -va 查看分支
git branch -l本地分支 -r查看远程分支,-a查看所有分支
git checkout -b dev origin/dev 切换 创建分支dev,关联到此分支
git checkout -b [分支名] [远程名]/[分支名]

创建分支
git checkout -b feature_name origin/master 在origin/master的基础上,创建一个新分支

切换分支
如果有了多个branch, 就可以用checkout切换到某个branch。用法很简单:
git checkout branchname

上面的命令如果加上参数branch的话,功能就有所增强
git checkout branchname -- filePath

git fetch 更新远程库变化内容
git fetch <远程主机名> <分支名>
git fetch origin master

git merge
合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。
如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
git merge --no-ff -m "merge message" dev

Git status
查看版本库的状态。可以得知哪些文件发生了变化,哪些文件还没有添加到git库中
git diff filename 查看修改内容

git reset回退
git reset --hard HEAD^ 回退上一个版本
git reset --hard 2e70fdf 回退指定版本

修改与撤销

用git diff HEAD -- readme.md查看工作区和版本库里面最新版本的区别。
git checkout -- file可以丢弃工作区的修改
例:git checkout -- readme.md意思就是,把readme.md文件在工作区的修改全部撤销,即让这个文件回到最近一次git commit或git add,时的状态,误删的文件恢复。
当然也可以用git reset命令。

git log
git log --pretty=oneline log简化显示
git log --graph --pretty=oneline --abbrev-commit 分支的合并情况历史
git reflog 查看connit id记录历史
git log --stat

git pull push
git pull origin dev 远程分支到本分支

创建+切换分支:git checkout –b name
合并某分支到当前分支:git merge name
删除本地分支:git branch –d name
删除远程的分支
git branch -r -d origin/hongchangfirst
要想真正删除远程分支上的内容,可以这样:
git push origin :hongchangfirst
注意,冒号前面的空格不能少,相当于把一个空分支push到server上,等于删除该分支

git stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:
另一种方式是用git stash pop,恢复的同时把stash内容也删了
可以多次stash,先用git stash list查看,然后恢复指定的stash
'git stash apply stash@{1}'就可以将你指定版本号为stash@{1}的工作取出来,stash内容并不删除,使用git stash drop来删除

分支切换,更新问题
esc,esc.
:q! enter

查看远程仓库:$ git remote -v
添加远程仓库:$ git remote add [name] [url]
git remote add teamCenter http://git.ihangmei.com/AndroidTeam/WangFanApp.git

删除远程仓库:$ git remote rm [name]
修改远程仓库:$ git remote set-url --push [name] [newUrl]

git fork分支同步更新源分支内容:
1,确定一下是否建立了主repo的远程源:
    git remote -v
2,如果只能看到你自己的两个源(fetch 和 push),那就需要添加主repo的源
    git remote add upstream URL
    git remote -v
3,想与主repo合并:
    git fetch upstream
    git merge upstream/master

git commit -am "<message>"
git commit -a
已经通过git add <change file>将其添加到stage,可以通过git commit -m "<message>" 你的文件之前已经提交过,但这次的改动还没有进stage
git push -u origin ResourceCodeClean

通常我们提交git的时候都是
git add .
git commit -m "some str"
git push

这三大步,而实际上,你只需要两条命令就够了,除非有新的文件要被添加进去。
git commit -am "some str"
git push

冲突解决
文件(比如,a用户把文件改名为a.c,b用户把同一个文件改名为b.c,那么b将这两个commit合并时,会产生冲突)
如果最终确定用b.c,那么解决办法
git rm a.c
git rm origin-name.c
git add b.c
git commit

内容冲突
当merge出现冲突的时候,输入
git mergetool
differmege
http://blog.csdn.net/u010232305/article/details/51767887
git config --global merge.tool diffmerge

更新失败错误
fatal: refusing to merge unrelated histories
最新的版本需要添加--allow-unrelated-histories
假如我们的源是origin,分支是master,那么我们 需要这样写git pull origin master ----allow-unrelated-histories

去除build目录
git rm -r --cached app/build 删除目录
git commit -m”rm app/build”
git push
在.gitignore里面添加忽略文件 app/build,或者git checkout .gitignore

忽略已提交的文件
git rm --cached logs/xx.log,然后更新 .gitignore 忽略掉目标文件,最后 git commit -m

分支tag
切换到需要打标签的分支上 Switched to branch 'master' or git checkout [tagname]
查看所有标签 git tag
查看标签信息 git show <tagname>
打一个新标签 git tag <name>
创建带有说明的标签,用-a指定标签名,-m指定说明文字
git tag -a v0.1 -m "version 0.1 released" <commitid>
删除标签 git tag -d v0.1.2

tag发布
通常的git push不会将标签对象提交到git服务器,我们需要进行显式的操作:
$ git push origin v0.1.2 # 将v0.1.2标签提交到git服务器
$ git push origin –tags # 将本地所有标签一次性提交到git服务器

基本讲解
http://www.ruanyifeng.com/blog/2014/06/git_remote.html
Git在AndroidStudio上的使用
http://blog.csdn.net/huaishu/article/details/50475317

其它参考
http://blog.jobbole.com/78960/
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013752340242354807e192f02a44359908df8a5643103a000
git remote operator
http://blog.csdn.net/joelovegreen/article/details/42913163
http://www.cnblogs.com/dubuqingfeng/p/201503-git-fork-synchronized.html
git rebase

http://www.mamicode.com/info-detail-1812492.html

AndroidStudio快捷键部分
android sudio proplem
http://www.cr173.com/html/24051_1.html

常用快捷键:
Alt + enter 导入包,自动修正
Alt+ insert 重写方法,使用模版方法
Ctrl+Shift+J    可以整合一行变为两行
Ctrl + O 查看类方法相当于eclipse outline功能
shift连按2次 查找项目指定类文件
Ctrl+Shift+Space 代码提示 相当Eclipse Alt+/
Ctrl+/ 或 Ctrl+Shift+/  注释(// 或者/*...*/ )
Ctrl+J  自动代码
Ctrl+E 最近打开的文件
Ctrl+H 显示类结构图
Ctrl+Alt+B 转到方法的实现
Ctrl+B:直接跳转到类、方法、成员变量定义的地方。与Ctrl+鼠标左键效果一样
Ctrl+Alt+L  格式化代码
Ctrl+Alt+O 优化导入的类和包
Ctrl+R 替换文本
Ctrl+F 查找文本
交换两行代码
Ctrl+Shift+箭头

Shift+F6  重构-重命名
Alt+F1:快速打开project view、structure view 等查看相应的元素。
Ctrl+Tab:打开界面切换窗口

Ctrl+F12    类方法查找
Ctrl+Shift+F    全局查找
Control + N 类文件查找
Control + Shift + N 文件查找
F4 / Control + Enter 跳转源码
Control + G 跳转行
Shift + F4 在新窗口中打开当前编辑器

Ctrl+Y    删除行
Ctrl+Shift+U    大小写转换
Ctrl+Alt+L 代码格式化
Ctrl+Alt+T    环绕代码try catch for 等    

Ctrl+numpad - 折叠
Ctrl+numpad + 展开
Ctrl+Alt+(+,-)整个文件

构建并运行
Control + F9  构建
Shift + F10      构建并运行
Ctrl + Alt + M 指定代码块放入新方法

Studio里面创建library,发现R一直引用不了
build->Make Module “yourLibrary”,然后发现R.java生成了

关联源码
打开C:\Users\用户.AndroidStudio2.1\config\options 这个路径,找到jdk.table.xml这个文件

快捷键:
https://developer.android.com/studio/intro/keyboard-shortcuts.html
http://developer.android.com/sdk/installing/studio-tips.html
程序包名修改
CTRL + ALT + L (Win/ Linux)
 have started developing with Android Studio. In eclipse I was using Ctrl+Shift+F but in Android studio it does not work, It will be different.

studio一些配置
http://www.imooc.com/wenda/detail/240863

重新命名application package方法:
You can do this:
Change the package name manually in the manifest file.
Click on your R.java class and the press F6 (Refactor->Move...). It will allow you to move the class to other package, and all references to that class will be updated.

参考:
https://developer.android.com/studio/intro/keyboard-shortcuts.html
http://developer.android.com/sdk/installing/studio-tips.html
基本设置 http://www.imooc.com/wenda/detail/240863

git常用命令与AndroidStudio常用快捷键的更多相关文章

  1. 54. Android中adb常用命令及应用常用目录

    本文主要介绍adb常用命令及应用常用目录.1.adb常用命令adb devices列出所有连接的android设备.以下命令都是对单个devices而言,如果存在多个devices的话,下面的命令都需 ...

  2. 源代码管理相关命令(Git常用命令、Nuget常用命令、CMD常用命令)

    Git常用命令 源代码工具 工具名称 相关地址 Git Git for Windows VSC Visual Studio Code VSC插件(Gitlen) GitLens - Git super ...

  3. Git终端命令行的常用操作

    一.git源代码管理的优点 方便多人协同开发.工作 降低代码的管理成本 良好的分支管理机制 二.结构分析 服务端和客户端都有版本控制能力,都能进行代码的提交.合并 结构一: 结构二: 三.工作区的创建 ...

  4. mac 终端 常用命令,MacOS 常用终端命令大全,mac 在当前目录打开终端

    MacOS 常用终端命令大全:目录操作dircmp——比较两个目录的内容——dircmp dir1 dir2文件操作pg分页格式化显示文件内容——pg filenameod——显示非文本文件的内容—— ...

  5. ADB常用命令(adb常用命令)

    基本用法 命令语法 adb 命令的基本语法如下: adb [-d|-e|-s <serialNumber>] <command> 如果只有一个设备/模拟器连接时,可以省略掉 [ ...

  6. [工作需求]linux常用命令以及vim常用命令

    一.             Linux 常用命令 mkdir dirname新建文件夹 cd ~ 进入自己的家目录 cd dirname 进入名字为dirname的目录: l 显示当前文件夹下的文件 ...

  7. mysql常用命令大全 mysql常用命令总结

    原文地址:http://www.jbxue.com/db/12472.html 本文介绍下,mysql中常用的一些命令,包括创建与修改数据库.数据库中的表,mysql的权限管理命令grant.revo ...

  8. MySql常用命令集Mysql常用命令showdatabases;显示数据库createdatab

    MySql 常用命令集 Mysql常用命令 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop ...

  9. MySql常用命令集Mysql常用命令2

    MYSQL 常用命令 1.导出整个数据库 mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的 文件名(数据库默认编码是la ...

  10. MySql常用命令集Mysql常用命令3

    MYSQL常用命令 有很多朋友虽然安装好了mysql但却不知如何使用它.在这篇文章中我们就从连接 MYSQL.修改密码.增加用户等方面来学习一些MYSQL的常用命令. 有很多朋友虽然安装好了mysql ...

随机推荐

  1. iOS Charles抓包

    一.Charles 安装 官方下载地址:https://www.charlesproxy.com/ 二.Charles 破解 1.破解地址:https://www.zzzmode.com/mytool ...

  2. jssip3.9.1的demo,webphone网页电话

    用的目前最新的3.9.1版本,全版本在这里: https://jssip.net/download/releases/ https://github.com/versatica/JsSIP 代码: & ...

  3. 对象可能是类数组对象 不具备数组的原型内的方法 所以可以用call或者apply把this指向改成数组或对象原型

    const arr = [] 2Object.prototype.toString.call(arr) === '[object Array]' // true 3 4 const obj = {} ...

  4. 《黑马旅游网》综合案例六 BaseServlet 抽取

    BaseServlet抽取 减少Servlet的数量,现在是一个功能一个Servlet,将其优化为一个模块一个Servlet, 相当于在数据库中一张表对应一个Servlet,在Servlet中提供不同 ...

  5. ES6 新语法新特性总结中...

    1. 感觉 for of   通杀 for循环 和 for in呢 aaa 可以是array /object for (let k of aaa) {     console.log(k) }   2 ...

  6. js 字符串中提取ip地址

    方法1: var reg = new RegExp(/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/);var str = 'http://172.38.172.10:8000 ...

  7. spring 理念与项目构建

    spring理念: 使现有的技术更容易使用,其本身是一个大杂烩,整合了现有的技术框架. ssh: struct2 spring hibernate ssm :springmvc spring myba ...

  8. springboot+Elasticsearch 复杂查询

    以前没做过ES 里面的查询,第一次接触还是走了点弯路的. 就是这个字段你在ES 都不用模糊查的话,就可以设置 type = FieldType.Keyword,比如ID之类的. 一:建ES存储的实体 ...

  9. redis的安装详细教程

    redis官方下载地址是:https://redis.io/download, redis 64位下载地址是:https://github.com/ServiceStack/redis-windows ...

  10. 快速使用时序数据库InfluxDB

    快速使用时序数据库InfluxDB InfluxDB是一款优秀的时间序列数据库,适合存储设备性能.日志.物联网传感器等带时间戳的数据. 1. InfluxDB主要特性 InfluxDB也就是TSDB, ...