热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

androidgit提交整个项目_AndroidStudio第一次提交项目代码到git服务器/github

虽然使用AndroidStudio(以下简称as)开发并使用git管理代码已经有很长时间,但是第一次提交项目到git依然会很不顺利,网上的文章或许因为所

虽然使用AndroidStudio(以下简称as)开发并使用git管理代码已经有很长时间,但是第一次提交项目到git依然会很不顺利,网上的文章或许因为所使用版本比较老,并不一定完全凑效,因此写此笔记做下整理。

首先准备工作git客户端和as客户端是不可少的工具,本次使用的是as2.2.2和git2.10.2;

下载安装后在as里面关联上,点test可以测试一下,弹出版本就说明关联成功

下面我分享三种常见操作方式,以界面交互为主,git命令为辅。

首先说明一点,github算是git服务器的一种,另外还有很多可能会使用到的git服务器,比如常用的GitLab,或者csdn的代码托管服务等等,都是大同小异。这里以github为例,但是as里面是可以直接share 到github,其他地方貌似不可以直接share,参见第三种方法;前两种是都可以通用的。

方法一:先创建项目,后与git连接

1、首先我们创建一个测试项目GitTest,点击VCS--Enable Version Control Integration,在弹出框右边选上Git。这个时候会发现项目会发生几点变化,鼠标右键点击项目出现Git选项;项目文件颜色变为红色;在as右下角出现Git:master;如下图:

图1-1

图1-2

图1-3

2、在github上创建远程代码仓库GitTest,注意这里名字可以和项目名字不一样;登录github,进到个人主页,点击切换到Repositories,然后点new创建。可以写上描述,选择公开或私有,也可以选择为项目添加一个README说明文件,如下图:

图2-1

图2-1

3、切回as,那么在提交项目之前要做一件很重要的事情,就是配置好gitignore文件,我们将项目展开会发现as已经帮我们生成了gitignore文件,在项目根目录有一个,在app目录也有一个;那么在app 模块里面很简单只有一行/build,这个我们不用管,那么在项目根目录的gitignore文件里面的内容我们可以看一下

图3-1

切换到project模式下我们会发现,项目中的文件并不是都变红了,有的是白色的,那么这些没有变红的文件就是被这个gitignore文件忽略掉的,那么我们关心的是哪些文件应该被忽略掉哪些文件不应该忽略?是as能在编译过程中自动生成的文件都不应该提交上去;也就是说我传上去的代码,别人拉取下来通过as编译能够正常跑起来,并且这个时候本地不产生可以提交的文件;这些文件主要包括.idea、.gradle、iml文件、以及配置sdk路径的local.properties等等,as为我们自动生成并不是很全面,这里推荐一个github上列出来的https://github.com/github/gitignore/blob/master/Android.gitignore我们也可以使用这个。这个文件之前是把整个.idea文件夹都忽略的,后来又改成只忽略其中部分文件,不知道为什么,我认为只要是可以自动生成的就可以忽略,即时每个人生成的都一样。

4、准备好了之后下面开始提交代码了,在项目根目录上右键Git-->Add将代码添加到索引库,然后Git-->Commit Directory提交到本地仓库;到此为止我们依然没有和github联系上;

5、将代码push到远程仓库Git-->Repository-->push到远程仓库,在弹出框里面输入之前创建的git远程仓库地址https://github.com/AndSync/GitTest.git,点OK,如果没登录会提示登录,以前登录过就不提示了,完了之后点push。

图5-1

这时候在右上角会有一个提示push rejected ,原因是我们本地仓库的master主线并没有和远程仓库的master主线绑定上,那么首先Git->Repository-->fetch一下,获取到远程master分支,这时候发现右下角有变化了,显示出来了origin/master,

图5-2

然后我们需要通过命令来完成绑定,在Terminal里面可以输入命令,这段命令怎么来的,其实如果你不用as可视化工具 而是用命令去 git push 的话是会提示给你的,告诉你应该输什么命令,git还是很智能的,建议还是多用命令来操作。git branch --set-upstream-to origin/master

然后我们再去push 这时候可以了,会弹出一个merge提示框,我们点merge又报错了,哦是不是因为创建项目的时候有一个文件README,那我们pull一下看行不行,发现也报错,于是我们要祭出另一句git命令来解决这个问题

图5-3git pull --allow-unrelated-histories

允许拉取不相关的历史记录,把README拉取过来了,当然如果你创建项目的时候没有创建README可能没这么麻烦,这时再去push就OK了。整个过程到此结束

方法二:先创建连接,后创建项目

这个怎么玩的呢,简要说明一下,之前不是有安装git客户端,应该在任何地方鼠标右键都有一个菜单Git Gui here -->Clone Existing Repository

注意本地路径文件夹GitTest2事先不要创建

clone完了之后,在这个目录下会有一个.git文件夹,和readme文件,那么到这一步我们也可以发现这种方式貌似并不适用于新建项目,因为这个文件夹里面有文件as将无法在这个目录下创建文件,那么这适用于从别的地方考过来一个已有的项目放到这里,之后从as打开项目进行add、commit、push等操作即可。

方法三:直接share到github

很简单,无需先在github上创建项目,直接share,如果需要修改gitignore文件可以先修改下。

1、VCS-->import into Version Vontrol-->Share Progect on Github

2、登录帐号

3、填写信息



推荐阅读
  • 双十一在家学用 Git
    对于所有的开发者来说,掌握一门代码版本控制系统都是必须的,无论是自己做项目,团队合作,工作中的合作,都离不开版 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了在git中如何对指定的commit id打标签,并解决了忘记打标签的问题。通过查找历史提交的commit id,可以在任意时间点打上标签。同时,还介绍了git中的一些常用命令和操作。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • loader资源模块加载器webpack资源模块加载webpack内部(内部loader)默认只会处理javascript文件,也就是说它会把打包过程中所有遇到的 ... [详细]
  • 原文:http:blog.linjunhalida.comblogpjaxgithub:https:github.comdefunktjquery-pjax ... [详细]
author-avatar
小子转过来_406
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有