美文网首页
代码提交github简易流程

代码提交github简易流程

作者: mandypig | 来源:发表于2018-10-19 15:54 被阅读0次

记录下把自己平时开发使用到的代码提交到github的整个过程(非公司代码),平时经常遇到的问题就是说各个环节都知道,但由于没有一个完整的流程,经常会忘记某一个环节,所以记录一下,方便查看,好记性不如烂笔头

新建工程配置gradle管理项目版本,库版本

ext {
    configuration = [
            package       : "mandy.com.uiviews",
            compileVersion: 25,
            minSdk        : 15,
            targetSdk     : 25,
            version_code  : 1,
            version_name  : "0.0.1",
    ]

    libraries = [
            supportVersion    : "25.3.1",
            butterknife       : "7.0.1",
            glide             : "3.6.1",
            recycler_animators: "2.1.0",
            circleimageview   : "2.0.0"
    ]
}

该文件直接保存到和根build.gradle同级目录下,关于如何使用这个配置文件就有点讲究了,可以直接在根gradle中配置如下信息

apply from: 'versions.gradle'

那么在模块gralde中使用时直接是这样的

compileSdkVersion rootProject.configuration.compileVersion
    defaultConfig {
        applicationId rootProject.configuration.package
        minSdkVersion rootProject.configuration.minSdk
        targetSdkVersion rootProject.configuration.targetSdk
        versionCode rootProject.configuration.version_code
        versionName rootProject.configuration.version_name
    }

这也是比较推荐的做法,自己之前遇到的一个坑就是没有在根gralde中进行配置,而是在模块gralde中配置versions.gralde

apply from: '../versions.gradle'

android {
    compileSdkVersion rootProject.configuration.compileVersion
    defaultConfig {
        applicationId rootProject.configuration.package
        minSdkVersion rootProject.configuration.minSdk
        targetSdkVersion rootProject.configuration.targetSdk
        versionCode rootProject.configuration.version_code
        versionName rootProject.configuration.version_name
    }
    ......
}

这时如果编译的话会发现无法成功,提示找不到属性的错误,造成这个问题的最主要原因就是没有区别开rootProject和project,如果要在模块中配置versions.gradle必须使用project才行。

推荐做法还是在根gradle配置,最大的好处就是免去每个模块单独apply配置文件,方便管理。

忽略文件设置

最外层配置如下

*.iml
/.gradle
/gradle
/.idea
/build
/local.properties
.DS_Store
/captures
.externalNativeBuild

每个模块配置类似

/build
/src/androidTest
/src/test

jcenter配置

工程中有lib,需要将lib发布到jcenter上,所以需要配置jcenter发布的gralde,具体流程可以参考我写的之前的文章,这里重新大致列一下配置,保证文章完整性。
根gradle中配置如下

buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.novoda:bintray-release:0.8.0'//jcenter发布使用到
        classpath 'com.android.tools.build:gradle:3.1.3'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }

    tasks.withType(Javadoc) {//解决lib中中文乱码问题
        options.addStringOption('Xdoclint:none', '-quiet')
        options.addStringOption('encoding', 'UTF-8')
    }
}

然后在需要发布的模块gradle中配置类似信息

apply plugin: 'com.novoda.bintray-release'

publish {
    repoName = '写自己的仓库名'
    userOrg = 'mandy'//bintray.com用户名
    groupId = 'com.mandy'//jcenter上的路径
    artifactId = '写自己的项目名称'//项目名称
    publishVersion = '1.0.0'//版本号
    desc = '自定义控件'//描述,不重要
    website = '‘’//网站,最好有,不重要
}

使用gradle动态配置资源

在app模块的gradle中配置需要动态修改的资源,比如

        resValue "string", "app_name", "\"${rootProject.configuration.appName}\""

这种配置倒不是必须的,可以根据公司需求来决定是否使用,需要注意的一点就是如果在gradle已经配置了资源,那么在该模块的string.xml中就不能再定义同名的资源,否则编译的时候会报重复资源的错误。不过如果同名的资源定义在其他模块则编译不会有问题。这种配置方式和在gralde使用buildconfig比较类似,但是最终是会在res文件下生成对应的资源,可以自己反编译apk就能验证。

git提交流程

(1)github创建好仓库,拷贝仓库地址
(2)进入本地工程目录,初始化仓库,git init,如果studio目录展示如下就说明已经成功

QQ截图20181019132124.png 接下来要做的就是提交代码到github
(3)一顿输入
git add .
git commit -m "first commit"
git remote add origin git地址
git push -u origin master就能顺利把代码提交到gitgub上了。

总结

上述只是一个简单的流程记录,方便自己以后提交有个可参考的笔记。文章中最重要的应该就是rootProject和project的区别,弄混的话小心配置versions.gradle无效。


将项目从github迁移到gitlab上

1
在studio中vcs->git->remotes找到原来提交的地址删除掉,否则每次提交的地址还是github,并添加上新的gitlab地址。
2
在项目文件中通过rm -rf .git删除掉原来的.git文件,需要仔细找下,这些git可能分部在不同module文件夹下,如果没删除完全,使用git init重新创建的话虽然也能成功,但是在迁移的时候最终使用git push -u origin master命令会出问题。

就上述两步是我在迁移现有项目到一个新的仓库遇到比较蛋疼的地方,其他步骤正常即可处理

相关文章

  • 代码提交github简易流程

    记录下把自己平时开发使用到的代码提交到github的整个过程(非公司代码),平时经常遇到的问题就是说各个环节都知道...

  • Jenkins Free Style 结合 Github 实现持

    大致流程: Github 提交代码 -> 触发WebHook -> 触发Jenkins 执行 build Git...

  • github

    如何使用Git上传项目代码到github 提交本地代码到github github 的命令 如何提交changes...

  • 如何优雅的修改项目中node_modules源码

    fork方式 流程 github上fork此代码 修正问题 提交pull request (可省略,但是有必要) ...

  • github代码提交

    上传本地代码及更新代码到GitHub教程 上传本地代码 第一步:去github上创建自己的Repository,创...

  • 发布自己的cocoapods插件

    创建本地Git仓库,并提交代码 创建GitHub远端仓库,提交本地代码至GitHub仓库GitHub创建仓库.pn...

  • Git 02 开发流程

    理解版本将开发流程 ======== 代码开发流程 系统开发,编写代码 提交代码给Git本地库 将代码提交到Git...

  • Gitlab代码提交流程

    description: 介绍了TEST代码提交的流程 TEST 代码提交流程 TEST 平时的开发借助于 Git...

  • 提交到GitHub流程

    提交到GitHub流程1、cd 项目主目录2、git add . (这个命令是将没有在源代码管理之下的那些文件全部...

  • cocoapod添加仓库

    1、提交代码到github 1)在github添加远程仓库2)将本地代码提交到远程仓库git remote add...

网友评论

      本文标题:代码提交github简易流程

      本文链接:https://www.haomeiwen.com/subject/yhrfvftx.html