使用Git从GitHub上拉取工程,同时将更新推送到GitHub上,后续使用类库直接引用GitHub上的项目

       在Android的日常开发中,我们免不了要封装自己的类库,以便在不同的项目中使用,封装成类库,确实是非常的方便,但是随着项目的增多,每次做新的项目的时候,我们都需要将类库重新拷贝一份到新的项目中,这样就导致一个问题,一旦发现类库中有问题,那么我们就需要将其他项目中引用该类库的地方全部做一下更改,这就要花费很多的时间了,而且非常的不易维护,因此就需要像使用诸如RxJava这样的第三方库的方式来使用我们的自己类库。

      该文章分两个部分来记录如何实现在GitHub上维护我们自己库以及在项目中引用。

      1、使用Git从GitHub上拉取工程,同时可以将更新推送GitHub上。

      2、如何将GitHub上的类库项目做成我们项目可以引用的公共类库

 

下面开始进入正题。

1、使用Git从GitHub上拉取工程,同时可以将更新推送GitHub上。

1.1、使用Git将类库从GitHub上拉取下来,打开CMD,定位到需要放置项目的文件夹位置,使用如下命令将远程代码拉取到本地文件夹中,以便于维护查看源码和维护。

E:\Projects\CodeRoot>git clone https://github.com/lao-zhao/winsth-common.git

获取完成之后,结果显示如下:

Cloning into 'winsth-common'...
remote: Enumerating objects: 164, done.
remote: Counting objects: 100% (164/164), done.
remote: Compressing objects: 100% (135/135), done.
remote: Total 164 (delta 9), reused 161 (delta 8), pack-reused 0 eceiving objects:  97% (160/164), 876.00 KiB | 38.00 KiB/s
Receiving objects: 100% (164/164), 880.57 KiB | 8.00 KiB/s, done.
Resolving deltas: 100% (9/9), done.

1.2、定位到获取的项目文件夹下面,使用git status命令,查看当前仓库的状态,显示结果如下。

E:\Projects\CodeRoot>cd winsth-common

E:\Projects\CodeRoot\winsth-common>git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

1.3、同样在在项目仓库目录,使用git remote -v,查看远程仓库版本的相关信息,显示结果如下。

E:\Projects\CodeRoot\winsth-common>git remote -v
origin  https://github.com/lao-zhao/winsth-common.git (fetch)
origin  https://github.com/lao-zhao/winsth-common.git (push)

1.4、我们先在当前库中增加一个android.jpg的图片文件,然后推送到远程仓库中。

1.4.1、首先需要配置GitHub账户信息:通过命令git config user.email "Your email"和git config user.name "Your name"配置登录帐号和仓库名称,然后再通过git config --list命令查看我们配置的信息是否成功,配置成功以后执行1.4.2操作。

1.4.2、将新增的图片添加到本地仓库:通过命令git add .或者git add * 将所有新增的文件添加到暂存区,再通过命令git commit -m "备注信息",将所有的改动文件提交到本地仓库。

1.4.3、将本地仓库改动的文件推送到远程仓库:通过命令git pull先更新远程仓库的改动,更新完成之后,再通过命令git push origin master推送到远程仓库,此处需要输入你访问GitHub帐号的密码,输入完成密码以后,就可以推送成功了!

最终操作结果如下所示。

E:\Projects\CodeRoot\winsth-common>git config user.email "xxxx.xxxx@qq.com"

E:\Projects\CodeRoot\winsth-common>git config user.name "lao-zhao"

E:\Projects\CodeRoot\winsth-common>git config --list
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
http.sslbackend=openssl
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
core.autocrlf=true
core.fscache=true
core.symlinks=false
pull.rebase=false
credential.helper=manager-core
credential.https://dev.azure.com.usehttppath=true
init.defaultbranch=master
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
remote.origin.url=https://github.com/lao-zhao/winsth-common.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
user.email=xxxx.xxxx@qq.com
user.name=lao-zhao

E:\Projects\CodeRoot\winsth-common>git add .

E:\Projects\CodeRoot\winsth-common>git status
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   android.jpg


E:\Projects\CodeRoot\winsth-common>git commit -m "增加一张图片文件"
[master ed9bce6] 增加一张图片文件
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 android.jpg

E:\Projects\CodeRoot\winsth-common>git push origin master
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 9.96 KiB | 9.96 MiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/lao-zhao/winsth-common.git
   8b90ec8..ed9bce6  master -> master

1.5、我们修改其中的README.md文件,然后提交到远程库中。

1.5.1、通过git status命令,查看更改的文件。

1.5.2、通过git add .或者git add *命令添加改动文件到暂存区。

1.5.3、通过git commit -m "备注信息"将改动添加到本地仓库。

1.5.4、通过git push origin master命令,将本地仓库修改的文件推送到远程仓库。如果远程仓库有多个人进行维护,需要先通过命令git pull进行更新,然后才能够提交。

E:\Projects\CodeRoot\winsth-common>git status
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   README.md

no changes added to commit (use "git add" and/or "git commit -a")

E:\Projects\CodeRoot\winsth-common>git add .

E:\Projects\CodeRoot\winsth-common>git commit -m "完成说明文件"
[master 6302a99] 完成说明文件
 1 file changed, 3 insertions(+), 1 deletion(-)

E:\Projects\CodeRoot\winsth-common>git push origin master
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 450 bytes | 450.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/lao-zhao/winsth-common.git
   ed9bce6..6302a99  master -> master

1.6、查看已经添加或者更新的文件信息。

2、如何将GitHub上的类库项目做成我们项目可以引用的公共类库

2.1、将私有的类库进行发布,如下图在项目右侧找到Releases,点击进去,进入到下一个界面。

2.2、填写版本信息:如下图,填入版本号、类库简介以及类库描述,点击发布即可生成相应版本的类库,为以后的引用做准备。

2.3、确认以后会到项目的根目录,在右侧的Releases下面就可以看到发布的版本信息了。因为我之前已经发布了,因此可以参考2.1的图片。

2.4、版本发布之后,还需要到JitPack网站去备案,我们使用GitHub的账户,登录HitPack网站(https://jitpack.io/),登录进去以后,进行如下如图的操作。

查询自己的类库,然后点击按钮“Get it”,即可完成公共类库的发布,同时可以看到如下图的类库引用方法。

   

      以上就是从GitHub上下载和上传代码,并生成公共类库的过程。如果不足之处,请多度指正。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值