git常用命令与AndroidStudio常用快捷键
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常用快捷键的更多相关文章
- 54. Android中adb常用命令及应用常用目录
本文主要介绍adb常用命令及应用常用目录.1.adb常用命令adb devices列出所有连接的android设备.以下命令都是对单个devices而言,如果存在多个devices的话,下面的命令都需 ...
- 源代码管理相关命令(Git常用命令、Nuget常用命令、CMD常用命令)
Git常用命令 源代码工具 工具名称 相关地址 Git Git for Windows VSC Visual Studio Code VSC插件(Gitlen) GitLens - Git super ...
- Git终端命令行的常用操作
一.git源代码管理的优点 方便多人协同开发.工作 降低代码的管理成本 良好的分支管理机制 二.结构分析 服务端和客户端都有版本控制能力,都能进行代码的提交.合并 结构一: 结构二: 三.工作区的创建 ...
- mac 终端 常用命令,MacOS 常用终端命令大全,mac 在当前目录打开终端
MacOS 常用终端命令大全:目录操作dircmp——比较两个目录的内容——dircmp dir1 dir2文件操作pg分页格式化显示文件内容——pg filenameod——显示非文本文件的内容—— ...
- ADB常用命令(adb常用命令)
基本用法 命令语法 adb 命令的基本语法如下: adb [-d|-e|-s <serialNumber>] <command> 如果只有一个设备/模拟器连接时,可以省略掉 [ ...
- [工作需求]linux常用命令以及vim常用命令
一. Linux 常用命令 mkdir dirname新建文件夹 cd ~ 进入自己的家目录 cd dirname 进入名字为dirname的目录: l 显示当前文件夹下的文件 ...
- mysql常用命令大全 mysql常用命令总结
原文地址:http://www.jbxue.com/db/12472.html 本文介绍下,mysql中常用的一些命令,包括创建与修改数据库.数据库中的表,mysql的权限管理命令grant.revo ...
- MySql常用命令集Mysql常用命令showdatabases;显示数据库createdatab
MySql 常用命令集 Mysql常用命令 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop ...
- MySql常用命令集Mysql常用命令2
MYSQL 常用命令 1.导出整个数据库 mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的 文件名(数据库默认编码是la ...
- MySql常用命令集Mysql常用命令3
MYSQL常用命令 有很多朋友虽然安装好了mysql但却不知如何使用它.在这篇文章中我们就从连接 MYSQL.修改密码.增加用户等方面来学习一些MYSQL的常用命令. 有很多朋友虽然安装好了mysql ...
随机推荐
- codeforce A. Many Equal Substrings
http://codeforces.com/contest/1029/problem/A 嗳,简单的题做起来是真的舒服qwq 1 public static void main(String[] ar ...
- leetcode 30. 串联所有单词的子串 【时间击败 90.28%】 【内存击败 97.44%】
这道题让我从早做到晚-3--- 设len=words[0].length(). 一开始我按照words的顺序扩大区间,发现这样就依赖words的顺序.之后改成遍历s的所有长度为len*words.le ...
- P1046 [NOIP2005 普及组] 陶陶摘苹果
题目描述 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出 10 个苹果.苹果成熟的时候,陶陶就会跑去摘苹果.陶陶有个 30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试. 现在已 ...
- go 编程基础学习笔记
dos 命令 2023-01-26 1.切换盘符 只要输入 c: d: e: 等即可 2.显示目录详细内容 dir 3.切换目录 cd 留意 一个点 . 代表当前目录, 两个点.. 代表上一级目录 4 ...
- react项目--路由封装
import React, { lazy } from "react"; import Home from "../views/Home"; import Lo ...
- centos7清理docker垃圾文件
相信很多朋友都有这个docker容器导致主机磁盘空间满了的问题,应用容器在宿主机上长期运行,应用实例启停容器,会产生大量的停止的容器,无容器使用的数据卷.网络配置,无容器依赖的镜像,这些垃圾日积月累, ...
- oracle导出csv文件后导入mysql
场景: oracle数据库中有与mysql同名表,需要将oracle表数据导入mysql,需要手工操作 工具: navicat premium 解决方案: 1.使用plsql工具从oracle导出cs ...
- Java07 异常
一.Error 和 Exception 1.什么是异常 实际工作中,遇到的情况不可能是非常完美的.比如:你写的某个模块,用户输入不一定符合你的要求.你的程序要打开某个文件,这个文件可能不存在或者文件格 ...
- Java06 面向对象
一 什么是面向对象 面向对象编程(Object-Oriented Programming,OOP) 面向对象编程的本质就是:以类的方式组织代码,以对象组织(封装)数据. 三大特性: 封装 继承 多态 ...
- CamstarVP提交前验证
方法一: public override FormsFramework.ValidationStatus ValidateInputData(Service serviceData) { Valida ...