您的位置:首页 > 移动开发 > Android开发

Android Git 常用命令和规范

2017-04-21 17:40 225 查看
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/70332707

本文出自【赵彦军的博客】

在 Android Studio 中要操作 Git 服务,有两种方式,它们分别是 GUI 和 命令行方式,今天就着重介绍 命令行 方式操作 Git 服务 。

首先在 Android Studio 里面找到 命令行窗口,如下图所示:



概念

git 操作流程图



专有名词了解

Workspace:工作区

Index / Stage:暂存区

Repository:仓库区(或本地仓库)

Remote:远程仓库

常见命令

1、查看 Git 版本信息

git --version


结果:

git version 2.11.0.windows.1


2、获取当前登录的用户

git config --global user.name


结果:

zhaoyanjun


3、获取当前登录用户邮箱

git config --global user.email


4、设置当前登录用户的用户名

git config --global user.name '赵彦军'


5、设置当前登录用户的邮箱

git config --global user.email '362299465@qq.com'


6、初始化仓库

文件夹下初始化一个仓库,此时文件里会到一个
.git
的隐藏文件夹

git init


7、查看本地所有的分支

git branch


效果如图所示:



可以看出,我的本地有两个分支:master 分支 、zhaoyanjun 分支。 master 分支 显示的是绿色,左侧有一个 * 号,表示,当前我们在 master 分支上操作。

8、查看本地和远程所有分支

git branch -a


效果如图所示:



可以看出,本地有两个分支(master、zhaoyanjun),红色的记录有4条,代表4条远程分支(laijian、master、zhaoyanjun、zhiqiang)。

9、查看远程所有分支

git branch -r


10、创建分支

创建 dev 分支。

git branch dev


11、切换分支

切换 dev 分支为当前分支

git checkout dev


12、创建并切换分支

创建并切换 dev 分支。相当于
git branch dev
git checkout dev
的合集。

git checkout -b dev


13、添加文件

把 当前根目录中的
loader1.png
添加在暂存区。 add 后面需要写 文件的相对路径。

git add loader1.png


image
目录下的
loader1.png
图片添加到暂存区

git add image/loader1.png


在 Android Studio 很多层级的目录文件中,如何获取文件的路径:



14、批量添加文件

git add -A


15、查看log

git log


退出 log

q


删除相关

删除本地仓库的分支

git branch -d dev


删除本地仓库的 dev 分支

删除远程仓库的分支

git push origin :dev


删除远程的 dev 分支

删除本地的一个文件

git rm 文件名


拉取更新

拉去远程分支,更新到本地

git pull


pull 使用 –rebase参数

表示把你的本地当前分支里的每个提交(commit)取消掉,并且把它们临时 保存为补丁(patch)(这些补丁放到”.git/rebase”目录中),然后把本地当前分支更新 为最新的”origin”分支,最后把保存的这些补丁应用到本地当前分支上。

git pull--rebase


提交相关

提交文件到分支

git commit -a -m '修复一个bug'


push 到远程 master 分支

git push origin master


合并分支

合并本地 dev 分支到当前分支

git merge dev


合并远程 dev 分支到当前分支

git merge origin/dev


Diff 相关

比较的是暂存区和工作区的差异

git diff


比较的是暂存区和历史区的差异

git diff --cached


比较的是历史区和工作区的差异(修改)

git diff master


Tag 相关

查看所有 tag

git tag


删除某一 tag

git tag –d tag名字


查看某一标签

git show tag名字


给当前分支打标签

git tag 标签名


为历史版本打标签

git tag 标签名 该版本ID


回退 reset 相关

reset命令有3种方式:

git reset –mixed:

此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息

git reset –soft:

回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可

3:git reset –hard:

彻底回退到某个版本,本地的源码也会变为上一个版本的内容

1、 将本地的状态回退到和远程一样

git reset --hard origin/master


2、将暂存区里面的修改清空 , 回退到上一次提交的记录

git reset --hard


3、将本地的状态回退到 某个版本

git reset --hard 5230bb6


将本地状态回退到 5230bb6 这次的提交

Git commit 日志规范

一般情况下,在 commit 的时候,是要求必须写 commit 日志,否则不能 commit . 那么 commit 日志也是需要规范的。日志格式一般为:

type( scope ): subject
空行
body
空行
footer


type(必需)、scope(可选)和subject(必需)。

type

用于说明 commit 的类别,只允许使用下面7个标识。

feat:新功能(feature)

fix:修补bug

docs:文档(documentation)

style: 格式(不影响代码运行的变动)

refactor:重构(即不是新增功能,也不是修改bug的代码变动)

test:增加测试

chore:构建过程或辅助工具的变动

如果type为 feat 和 fix ,则该 commit 将肯定出现在 Change log 之中。其他情况(docs、chore、style、refactor、test)由你决定,要不要放入 Change log,建议是不要。

scope

scope用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。一般有三个可以选择。

all :表示影响面大 ,如修改了网络框架 会对整个程序产生影响

loation: 表示影响小,某个小小的功能

module:表示会影响某个模块 如登录模块、首页模块 、用户管理模块等等

subject

subject是 commit 目的的简短描述,不超过50个字符。

以动词开头,使用第一人称现在时,比如change,而不是changed或changes

第一个字母小写

结尾不加句号(.)

body

具体的修改信息 应该尽量详细

footer

放置写备注啥的,如果是 bug ,可以把bug id放入

效果图如下图所示:



参考资料

http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: