前言

GIT的操作,分为命令符操作和图形化操作。上网搜了许多帖子,都是一些命令符,图形化的操作很少。本人认为,虽然命令符操作起来很流畅,有一种高手的风范,但对于一些初学者来说,还是比较陌生。图形化工具的出现,就是为了让我们更好,更快捷的去使用。
那么今天就简单的说一下这两种操作方法。

开始之前

当然,想了解一件事务之前,无非就是三件事: 是什么,为什么,怎么用?

GIT的介绍

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。

GitHub的介绍

gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。

为什么使用GIT

在实际开发中,一旦涉及到代码量巨大的项目,往往需要经过很多人协同工作数周乃至数月才能完成。在这期间,会面临着代码的修改、增删、恢复等工作,开发人员不可能清楚的记得每次变化,这时候就需要借助版本管理工具来跟踪代码的变化历程。

怎么用

GIT的安装,这里就不说了,就大家下载地址,没有安装自己安装一下。傻瓜式安装,一直NEXT,就OK了。

http://gitforwindows.org/

在AndroidStudio中配置GIt与GItHub

开始使用

选择git

开始上传GItHUb上(点击share project on Github)

填入自己的工程名字,描述,点击share,下一步点击OK就行

share成功后(GitHub上就有了),出来连接,点击就进到网址了

这就是GitHub上的内容了

团队开发,接下来,添加合作伙伴并拉取他的项目

首先,除了创建Tream外,我们可以选择合作者关系 点击最上面的settings

进入里面,选择合作伙伴,发送请求,对方接受请求就Ok了

接下里我们回到AndroidStudio中,选择VCS中的GitHub

在这里就可以找到你合作伙伴传上去的项目了,点击OK就导入你的AS中了

开始创建分支

点击右下角的git-master,New Branch

输入自己的分支名

分支就创建成功了

那么如何切换到主支呢?如图所示操作就切换成功了

接下来,上传分支并合并

右键点击你修改的类,当然你也可以点击这个Demo或者整个Project

填入描写,并commit and push 到github,点击后出来一个界面,直接点push

成功后,我们回到网页上的GitHub上,自动出来一个Compare & pull request

点击进入之后,如下图操作,就完成合并了,你就可以在GitHub上看到合并后的了。

合并时有冲突怎么办

其实很简单,只要选择你想要留下来的,标记一下(Mark按上resolved)就OK了

但如果提交有冲突怎么办?

冲突在git的使用过程中是特别常见的现象,团队里每个人所负责的代码块或多或少都会有交叉,所以能更快捷的解决冲突自然是更好的了。
如果有冲突的代码块,git会将相关的代码块用”>>>>>>>”和”=======”包围起来,告诉你这个地方有冲突了,需要你手工去解决。但当你代码量比较多的时候,或者有冲突的两个代码块距离比较远的时候,或多或少都会有些麻烦。毕竟你需要去查看起冲突的代码块,对比,排查原因,再手工修改。
AS提供的图形界面操作可以让人很直观的发现哪些代码块起冲突了,这里就用图简单展示下,你可以自己去尝试下各种冲突,然后实践下,自己体会是不是会比命令行操作更方便。
如果出现冲突就会出现下图,AS提供三种解决方案,”Accept
**“就是字面上的意义,”Merge”是手动解决,AS会提供更直观的图形界面,如第二张图。

如图所示,最左边是你本地项目当前所处的分支,最右边是你要与你当前分支进行合并的分支。中间则是合并后的结果预览。图上那些有颜色覆盖的代码就是有冲突的地方,不同颜色代表不同意思,这里就不详说了,等你使用多了自然就熟悉了。
分隔线里的”Ⅹ >>”是AS提供给你的操作方法,多的也不说了,建议你多自己尝试下。

查看各个版本代码

项目的开发经常是迭代开发,有时经常需要查看一下以前版本的代码。或者当我正在开发时,远程仓库更新了最新版本,我想查看一下最新版本添加了哪些代码等等情况。AS都提供了很好的图形界面操作。

点击底栏靠左边的”version
control”,出现如下图。其中,左边表示的是你的仓库的每一次commit记录,包括提交信息,提交者以及时间。右边可以查看任意版本的仓库对应修改的代码。这个特别方便,当你想查看某个版本是谁提交的,以及他做了哪些修改,你不必再去登陆github或其他托管仓库,AS里就可以查看。

比较不同版本库的代码之间的区别

有时我不仅仅想知道最新版本添加了哪些代码,还想知道添加的这些代码跟自己本地正在使用的版本代码相比,哪些地方被修改了。或者比较不同版本间的不同等情况。AS也提供了很人性化的图形界面操作。
选择你要比较的java文件也可以是整个项目,右键选择git,选择”compare with
**“命令,根据你的需要自行选择是与远程库的最新版本比较,还是与其他分支或其他版本库比较。

右边是你本地的代码,左边是你选择的要比较的版本库的同一java文件的代码。图上红框中的是版本号。该功能可以很方便的就看出不同版本的同一文件的区别。有颜色的代码就是修改过或者新添加或者删除的代码。

拉取远程仓库到本地

点击右键选择Git

选择要拉取到哪

如果拉取时有冲突,根据需求选择如上说的解决冲突的方法


Git命令操作

在这我直接给大家一个帖子,跟上敲上几遍就会了。
http://www.cnblogs.com/schaepher/p/5561193.html#init

GIT命令与图形化操作相关推荐

  1. git只提交一张图片_Git 图形化操作之合并提交记录

    Git 图形化操作之合并提交记录 Git 图形化操作之合并提交记录 目录1.显示日志2.合并提交记录3.推送合并的提交 独立观察员 2020 年 9 月 24 日 前言:当我们使用 Git 时,有时会 ...

  2. Git 图形化操作之合并提交记录

    Git 图形化操作之合并提交记录 独立观察员 2020 年 9 月 24 日 目录 1.显示日志 2.合并提交记录 3.推送合并的提交 前言:当我们使用 Git 时,有时会遇到刚提交推送完一次修改,发 ...

  3. python界面设置-PYTHON图形化操作界面的编程七__创建菜单

    PYTHON图形化操作界面的编程七__创建菜单 十八.创建菜单 1.水平菜单的创建 创建菜单需要多条语句,所以这里通过实例来说明水平菜单的创建方法: 下面的语句可以在窗口中添加水平菜单,其中前四行语句 ...

  4. python函数做菜单_PYTHON图形化操作界面的编程七__创建菜单

    PYTHON图形化操作界面的编程七__创建菜单 十八.创建菜单 1.水平菜单的创建 创建菜单需要多条语句,所以这里通过实例来说明水平菜单的创建方法: 下面的语句可以在窗口中添加水平菜单,其中前四行语句 ...

  5. 阿里云centos7安装和卸载图形化操作界面

    登录服务器,执行如下指令安装桌面环境: 安装 MATE Desktop yum groups install "MATE Desktop" 命令输入之后,会列出一大堆文字的,然后显 ...

  6. virtualenv在Ubuntu18.10(64位)中的用法(命令和图形化建立虚拟环境)

    virtualenv吃系统版本,所以系统python3.6的对应的最高版本为ubuntu18.10 且celery部分功能不支持python3.7 而anaconda3太占用空间. 所以不要使用太新的 ...

  7. Python自动生成代码 - 通过tkinter图形化操作生成代码框架

    Python自动生成代码 - 通过tkinter图形化操作生成代码框架 背景 脚本代码 Demo_CodeGenerator.py display.py FileHandler.py: 脚本运行结果: ...

  8. Git命令集十三——快照操作

    2019独角兽企业重金招聘Python工程师标准>>> Git命令集十三--快照操作 Git工具中提供了一个stash命令,这个命令的作用是创建快照.快照主要的用途是将当前未更新到缓 ...

  9. Git——远程管理版本操作(Tortoise(小乌龟)图形化操作、git命令行操作)

    一.Tortoise 图像化操作: 1.克隆项目(即从github仓库拉取项目文件): 2.暂存区: 添加到暂存区: (1)新建一个文件 (2)右键选择子选项 ->[添加](3)勾选为被控制文件 ...

最新文章

  1. GitHub高效搜索
  2. Sparkmllib scala svm demo
  3. SQL SERVER 存储过程执行带输出参数的SQL语句拼接
  4. SAP Spartacus如何禁止某些标准的css样式
  5. 前端学习(3288):object.define
  6. 信息学奥赛一本通C++语言——1090:含k个3的数
  7. python 空列表对象的布尔值_python – 从TensorFlow对象中检索数据 – 来自correct_prediction的布尔值列表...
  8. python是一种跨平台开源免费的高级动态编程_Python是一种跨平台、开源、免费的高级动态编程语言。...
  9. Servlet工作原理解析
  10. 根据Debye公式计算海水介电常数及趋肤深度
  11. C语言IDE推荐code::blocks
  12. 锂电池电芯-市场现状及未来发展趋势
  13. ctl文件去空格,word文档段落如何空格去掉 word文档段落前空格
  14. 最新河南电信、网通(联通)、铁通DNS地址ip
  15. flutter 踩的那些坑 (一) Scheme not starting with alphabetic character
  16. Spring boot in action pdf+源码
  17. Android 贝塞尔曲线实战之网易云音乐鲸云特效,apm性能监控系统
  18. jQuery 性能优化
  19. python miio 连接小米网关_小米门窗传感器2本质是感应门窗开合的,结果更好用的却是光线传感器...
  20. 人工智能公司排名百度,持续更新~

热门文章

  1. 将JavaWeb项目打出war包并部署到tomcat
  2. qgc 区域外扩_绝地求生:QGC新春邀请赛总决赛解读,大神吃鸡不走寻常路
  3. 华为交换机配置【本文针对一台开箱后的新华为交换的配置进行介绍】
  4. javascript三元表达式连写(多重条件判断)
  5. mysql删除字段语句
  6. 高考成绩可以查询了,用Python爬取数据:看看哪些学校专业更受宠
  7. 安排:《蚂蚁花呗1234面:Redis+分布式架构+MySQL+linux+红黑树》
  8. C++数字三角形问题
  9. 字符编码以及字符联通
  10. MAC双开微信的简便做法