Android Studio:SVN->GIT(三)

2023-11-15

在使用git进行代码管理时,首先简单介绍一下git。
目前主流的版本管理工具主要是 svn/git。svn是集中式的代码管理工具,而git是散布式的代码管理工具,它采用了分布式版本库的方式,不必服务器端软件支持。基于git的github更是全宇宙码农的提高逼格,深究技术的必备神器。
接下来,我们就开始git的代码管理之路。。

首先,要将本地已有的代码添加到git代码管理工具中,首先需要在本地建立git仓库,因为git的每次提交代码时,每次commit的时候会先提交到本地仓库,然后push的时候,才会提交到服务器。所以我们先为我们的代码添加一个本地git仓库:
这里写图片描述
添加完成之后,android studio工具栏中会出现version control相关的操作按钮:
这里写图片描述
将工程添加到git本地仓库之后,出现的代码颜色变化:【红色】-已添加GIT本地仓库,但并未add的文件【绿色】-已Add,但未commit的文件【蓝色】-已commit并且push成功后修改的文件,而白色是不需要同步到git仓库的部分,是在我们添加git本地仓库时,自动生成的.gitignore中定义的:
这里写图片描述
然后,将android studio工程目录切换为project,右键选中项目,将项目需要提交git托管的进行add:
这里写图片描述
add完成之后,项目中,所有红色字体的文件都变成了绿色:
这里写图片描述
也可以从version control中查看本地修改或者新增的需要git托管的代码文件:
这里写图片描述
最后,就可以将绿色字体的文件进行commit操作,将之提交到git本地仓库:
这里写图片描述
注意:在进行commit时,是将代码提交到本地仓库,这时如果电脑未联网,也是可以提交成功的,因为它并没有被提交到网络服务器上。而在commit之后,再进行push操作,才将代码提交到网络git服务器上(一般都是commit and push同时操作,否则本地托管没有什么意义。),commit之后的文件都会变为白色,到此就完成了新项目导入到git仓库的操作。之后再对受控的文件进行修改之后,文件颜色会变为蓝色:
这里写图片描述
可以点击工具栏上的这里写图片描述按钮进行代码clone,然后在在弹出框中选择 Merge 合并。
这里写图片描述
上面说了,如果不push到网络git服务器进行管理的话,没有多大意义,而对于个人开发者来说,很多时候并没有自己的git服务器,所以我们可以借助github这个很有逼格的东东来托管个人代码。
在上面的commit操作时,我们只是将代码提交到了本地git仓库,接下来我们需要使用git的push操作,将代码提交到github上:
这里写图片描述
选择push操作后,会弹框配置远程服务器路径,这里我们首先创建我们的github项目代码管理路径,创建的方法很简单,在github中,点击new repository按钮创建仓库,创建之后的路径如下:
这里写图片描述
在编辑框中你可以看到仓库的访问地址,也就是上传项目时需要填写的URL,默认是HTTPS格式的,但在android studio中最好还是使用SSH,点击红线标注的“Use HTTPS”可以切换这两种方式。
OK,github仓库也配置好了,接下来直接在android studio步骤的配置remote路径哪里填写github仓库路径即可:
这里写图片描述
成功之后,会显示本地需要提交到github仓库的文件,点击push即可将本地git仓库中的代码托管到github中,但….发生了这个错误:错误:rejected –non-fast-forward
通过研究知道,原来是github上建立的git仓库中有一个README.MD文件,导致本地仓库和github仓库存在冲突,因此需要先进行pull操作,同步github上的文件,然后在使用push。在使用pull的时候,只能使用命令行了,因为android studio 上的pull按钮会发生这样的错误:

refusing to merge unrelated histories

所以使用git bash,输入如下信息:
这里写图片描述
OK,github上的README.md文件被pull到git本地仓库中。然后再使用android studio的push操作:
这里写图片描述
push成功了~~~在github上看到,代码都已经被push上来了:
这里写图片描述

OK,到这,我们就将一个本地项目进行git管理以及托管到github上已存在的repositories中。

当然,还有其他方法将本地代码直接新增到github中,即使用android studio的share project on github功能,该功能会直接将本地代码新增到github上,且这种方法不会产生上面的冲突问题:
这里写图片描述
新增之后的github目录:
这里写图片描述

而从github上导入项目到本地,则有以下两种方法:
这里写图片描述

这里写图片描述
选择之后,设置需要导入的项目github路径以及本地项目名称即可:
这里写图片描述

到此,项目代码的git以及github管理就大功告成了~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android Studio:SVN->GIT(三) 的相关文章

  • 使用 Git 部署时压缩 JS/CSS 文件

    我对 git 有点陌生 另外 这是我第一个自动化部署过程的项目 到目前为止 能够做到这一点真是太幸福了git push dev并上传文件 复制配置文件等 现在 当我推送到我的开发服务器时 我想缩小 JS CSS 文件 我正在考虑在服务器上安
  • Git 会删除空文件夹吗? [复制]

    这个问题在这里已经有答案了 我已提交一个项目并将其推送到我的 GitHub 帐户 该项目包含以下部分文件结构 server conf some files java lib java 和 lib 文件夹为空 从 GitHub 下载我的项目时
  • Git Push 远程:致命:包超出允许的最大大小

    我接到了一个大项目 客户想将其添加到github 我是一点一点添加的 然后发生的事情是我太贪心了 一次添加了太多文件 现在 无论我尝试什么 我都会不断收到此错误 我怎样才能解决这个问题 我试图回滚 但也许我做错了 git push Ente
  • 使用 Git 处理 subversion:忽略对跟踪文件的修改

    我目前正在使用 subversion 存储库 但我正在使用 git 在我的计算机上本地工作 它使工作变得更加容易 但也使 subversion 存储库中发生的一些不良行为变得非常明显 这给我带来了问题 拉取代码后 有一个有点复杂的本地构建过
  • travis-ci 安装程序使用 --github-token 发布

    我在使用带有 github 令牌的安装版本时遇到问题 我喜欢 travis ci 但我不愿意透露我的 github 密码 我需要使用令牌并且我阅读了文档 因为这应该可以通过这种方式实现 不幸的是它仍然要求输入密码 travis login
  • 如何将 git-svn 与 svn+ssh url 一起使用

    我喜欢在cygwin中使用git svn clone使用我们公司 svn 存储库的命令 这个的网址是svn ssh svn
  • Windows 上的 git 忽略文件名大小写更改 [重复]

    这个问题在这里已经有答案了 我有一个reactjs应用程序 我正在将所有文件名标准化为小写以符合Nodejs 最佳实践 https devcenter heroku com articles node best practices stic
  • 如何在 github 复合操作步骤中动态设置环境变量?

    我确实需要它作为一个环境变量 这是为了复合动作具体来说 在复合操作中 我尝试了许多不同的设置环境变量的方法 我发现做到这一点的唯一方法是使用env在步骤本身内 runs using composite steps name A step e
  • 如何在没有本地存储库的情况下在远程运行 git 命令

    我有一个名为 git export 的脚本 它可以帮助我导出远程存储库 它是这样运行的 git export http host com git repo lt t tag or b branch or c commit gt local
  • 警告:引用名称“xxx”不明确

    我想知道为什么我收到 refname is ambigeous 的警告 这是否意味着名称以该字符串开头的分支不超过两个 但这里没有 Thanks git checkout B03799 warning refname B03799 is a
  • 在 git 中记录前 10 个

    两个问题 如何从头到尾显示 git 中的前 10 个提交 无分行 如何指定提交索引并记录它 显示第二个或第三个 我知道 git 使用父级来链接提交 很容易从头到尾记录提交 喜欢 git log HEAD 10 但我需要从头到尾查询 可以吗
  • Jenkins groovy - 如何从最新提交中检索标签?

    从中获取最新提交branchName 我们运行下面的代码 treeMapData git branch branchName credentialsId credential url gitLabServer projectName rep
  • Git rebase --继续而不打开编辑器

    调用时git rebase continue在正常的变基冲突之后 编辑器 GIT EDITOR 打开并要求修改提交消息 因为提交消息可能包含前导 所以这可能会失败 export GIT EDITOR true git rebase cont
  • 将两个单独的功能分支合并到同一个主分支中[重复]

    这个问题已经存在了 我们正在努力发布 2 个远程功能分支 F2 和 F3 我们如何处理F3来创建发布 提案1 简单地合并F3进入开发 提案2 第一次合并开发进入F3 包括F2的变化 然后合并进入发展 这两种方法之间有什么实际差异 是否有客观
  • 将文件从一个存储库复制到另一个存储库的 github 操作

    我的公司创建了一种在环境之间移动文件的复杂方法 现在我们希望将某些构建的 JS 文件 已转换和缩小 从一个 github 存储库移动到另一个 使用 github 操作可以实现这一点吗 最简单的选择是克隆目标存储库 将文件复制到目标存储库中
  • 如何使用 git 撤消所有空白更改

    我有一个 git 存储库 我在其中本地替换了很多文件 git status 现在显示许多修改的文件 有些是 真正修改过的 其他的只是行结尾不同 我希望那些仅通过行结尾不同的内容消失 git重置它们 但是 我似乎找不到 linux pipin
  • git checkout HEAD -- 和有什么区别?和 git reset --hard HEAD?

    我已经查看了这个 stackoverflow 链接 但我认为我所要求的之间的细微差别是使用HEAD在结账命令中 因为他们的建议似乎不起作用 git reset hard HEAD 和 git checkout 之间有区别吗 https st
  • 如何在Git中手动合并所有文件?

    我想合并所有文件manually有了 meld 或任何其他 diff 工具 我如何使用 Git 来做到这一点 当我跑步时git mergetool它说no files need merging 所以我想只有当我有冲突时我才能做到这一点 有更
  • 设置单独的遥控器以仅推送和拉动子文件夹

    假设我有两个存储库 repo A and repo B 其中包含一个文件夹 其中的代码与存储库 A 中的代码类似 这实际上如何发生并不重要 但是好吧 让我们假设我刚刚从 A 复制了内容 现在我想要以下内容 就像我在 repo A 中习惯的那
  • 如何更改全局 git 设置以在拉取期间进行 git 合并

    目前 我的全局设置设置为在 git pull 期间执行变基操作 我希望它默认将其更改为 git merge 如何更改此设置 TL DR git config global pull rebase false 有点细节 Git 使用配置pul

随机推荐

  • Set接口概述

    1 Set集合和List集合的区别 Set 不允许元素重复 集合元素唯一 元素可以为null 不能保证迭代顺序恒久不变 无序 存储和取出不一致 List 允许元素重复 并且元素有序 存储和取出一致 2 Set 集合存储元素时可以保证元素的唯
  • 计算机毕业设计 基于SSM框架+Vue的企业人事信息管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

    博主介绍 从事软件开发10年之余 专注于Java技术领域 Python人工智能及数据挖掘 小程序项目开发和Android项目开发等 CSDN 掘金 华为云 InfoQ 阿里云等平台优质作者 文末获取源码联系 精彩专栏推荐订阅 不然下次找不到
  • idea中配置Tomcat找不到的解决办法

    idea中配置Tomcat找不到的解决办法 最近重装了系统 所以重新下载了一下idea 配置tomcat时发现找不到Tomcat Server 下面是一种解决方法 希望也可以帮助到大家 具体的实施步骤 File gt Settings gt
  • C++中nothrow的介绍及使用

    在C中 使用malloc等分配内存的函数时 一定要检查其返回值是否为 空指针 并以此作为检查内存操作是否成功的依据 这种Test for NULL代码形式是一种良好的编程习惯 也是编写可靠程序所必需的 在C 中new在申请内存失败时默认会抛
  • 使用布谷鸟算法优化的LSTM进行数据回归预测

    使用布谷鸟算法优化的LSTM进行数据回归预测 在时间序列数据分析方面 长短时记忆网络 LSTM 已经成为一种流行的方法 然而 LSTM模型中的大量参数使得该模型的训练变得困难 因此 本文提出了一种基于布谷鸟算法的优化方法来加速LSTM模型的
  • 一网通办的内涵解构

    一网通办 节选 一网通办 这四个字的每一个字都有特定的含义 整合在一起便构成了具有内在逻辑关系的特定概念 1 一网通办 的核心在于 办 办 重视的是办理 一方面从民众角度出发 提高和丰富企业与个人办事的体验度 满意度 获得感 使民众能够及时
  • 1074 Reversing Linked List (25 point(s))

    1074 Reversing Linked List 25 point s Given a constant K and a singly linked list L you are supposed to reverse the link
  • [CentOS]Chkrootkit后门检测工具的安装

    工具介绍 Chkrootkit 工具用来监测 rootkit 是否被安装到当前系统中 rootkit 是 攻击者经常使用的后门程序 这类后门程序通常非常隐秘 不易被察觉 植入后 等于为攻击者建立了一条能够长时间入侵系统或可对系统进行实时控制
  • 基于置换均线的二次穿越突破均线

    1 名词解释 置换均线 移位移动平均线也称置换移动平均线 置换均线 DMA 不是将当根bar上计算的均线值画上当根bar上 而是将历史的均线值画在当根bar上 使均线值整体向未来偏移了指定数量的bar 将移动平均K线向后平移一定BAR数即为
  • 西瓜书学习(一)—决策树(上)

    1 什么是决策树 顾名思义 决策树是以树形的结构方式来对事件做决定和分类 我们以来判断一个瓜是不是好瓜来举例子 如下 决策树的结构一般包含一个根节点 若干个内部节点和若干个叶节点 根节点包含所有样本 各种各样的瓜 内部节点是西瓜的属性 根茎
  • js获取数组中的最大值最小值

    1 遍历方法 var tmp 1 12 8 5 var max tmp 0 for var i 1 i
  • 【hadoop】AccessControlException: SIMPLE authentication is not enabled. Available:[TOKEN, KERBEROS]

    文章目录 1 场景1 1 1 概述 1 2 我的异常 1 场景1 1 1 概述 今天要对接华为的hadoop环境 然后我要执行相关的kerberos认证 然后获取到他们的YarnClient 但是报错 AccessControlExcept
  • 变换的矩阵

    import java io InterruptedIOException import java time chrono JapaneseChronology import java util Scanner public class M
  • SPSS 进行两因素重复测量方差分析(Two-way repeated-measures ANOVA)详细操作步骤 (上)

    一 问题与数据 研究者研究了16名健康人在五种状态 P1 P2 P3 P4 P5 下的参数 MS A MS B MS C MS D 是否存在显著性差异 每种状态下均有参数 MS A MS B MS C MS D 因为自变量均为Within
  • B样条曲线

    学习B样条曲线需要先学习贝塞尔曲线 若未了解 看我一篇上博客https blog csdn net weixin 42513339 article details 83019610 贝塞尔函数不足 由于贝塞尔曲线存在以下不足 1 缺乏局部修
  • 字典排序 案例

    一 字典序 字典序 就是按照字典中出现的先后顺序进行排序 1 单个字符 在计算机中 25个字母以及数字字符 字典排序如下 0 lt 1 lt 2 lt lt 9 lt a lt b lt lt z 比如在 python 中 0 lt 9 l
  • 安装MySQL时提示错误:由于找不到MSVCP120.dIl,无法继续执行代码。重新安装程序可能会解决此 问题。

    问题 这是因为没有安装Visual C Redistributable Packages for Visual Studio 2013导致的错误 解决方案 vc 2013 官网下载地址 https www microsoft com zh
  • Android 使用Get请求获取网络数据(极速数据)

    1 环境配置 android studio 2 3 3 java 16 0 1 1 1 配置Json库 需要准备的jar包 json lib 2 4 kdj15 jar 第一步 拷贝需要用到的jar包到项目目录的app libs路径下 第二
  • cpp mqtt paho 使用_C++实现mqtt协议

    实例简介 C 实现mqtt协议 官网的mqtt c 实现 个觉得写得非常棒 实例截图 核心代码 mqtt cpp org eclipse paho mqtt cpp 55216695b73dc7ab2a9f917878de2b8eddb7c
  • Android Studio:SVN->GIT(三)

    在使用git进行代码管理时 首先简单介绍一下git 目前主流的版本管理工具主要是 svn git svn是集中式的代码管理工具 而git是散布式的代码管理工具 它采用了分布式版本库的方式 不必服务器端软件支持 基于git的github更是全