Android Git 常用命令和规范

简介: 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/70332707 本文出自【赵彦军的博客】在 Android Studio 中要操作 Git 服务,有两种方式,它们分别是 GUI 和 命令行方式,今天就着重介绍 命令行 方式操作 Git 服务 。

转载请标明出处: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 devgit 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

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
12天前
|
缓存 数据可视化 网络安全
Git命令大全
Git命令大全
45 1
|
16天前
|
开发工具 git
Git教程:深入了解删除分支的命令
【4月更文挑战第3天】
37 0
Git教程:深入了解删除分支的命令
|
1月前
|
存储 Shell Linux
【Shell 命令集合 文件管理】Linux git命令使用教程
【Shell 命令集合 文件管理】Linux git命令使用教程
34 0
|
1月前
|
开发工具 git
git常用命令整理
git常用命令整理
13 0
|
22天前
|
开发工具 git 开发者
Git常用命令大全:让你轻松驾驭版本控制
Git命令速查:`git init`新建仓库,`git clone`克隆,`git add`入暂存区,`git commit -m`提交,`git status`查看状态,`git log`查看历史,`git branch`创建分支,`git checkout`切换,`git merge`合并,`git pull`拉取更新,`git push`推送,`git remote -v`查看远程,`git checkout --`撤销本地修改,`git reset HEAD`取消暂存,`git reset --hard`回退版本。掌握这些,提升代码管理效率!
18 0
|
1天前
|
存储 Linux 开发工具
Git 分布式版本控制系统基本概念和操作命令
Git 分布式版本控制系统基本概念和操作命令
16 0
|
3天前
|
算法 Java BI
云效产品使用报错问题之平台上导出的统计数据和 git 中使用命令导出的数据统计都对不上,如何解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
29天前
|
算法 开发工具 git
【git 实用指南】git 增加 本地代码 git add 相关命令和复杂情况需求
【git 实用指南】git 增加 本地代码 git add 相关命令和复杂情况需求
92 0
|
1月前
|
Shell Linux 开发工具
【Shell 命令集合 系统管理 】Linux 查看当前Git仓库的提交历史 gitps命令 使用指南
【Shell 命令集合 系统管理 】Linux 查看当前Git仓库的提交历史 gitps命令 使用指南
16 0
|
1月前
|
开发工具 git
git命令使用大全
git命令使用大全
20 1

相关实验场景

更多