git 添加外部项目地址

github 提交第三方模块流程

// git config --global user.name ‘your name‘ 可以设置全局用户名,在commit记录里显示的是这个配置设置的名称。

// git config --global user.email ‘your email‘ 可以设置全局用户邮箱。

// git config user.name 可以查看当前设置的用户名

一、模块的创建及更新

1.创建模块

--新建一个github仓库repository,比如:git_submodule

--新建文件夹,比如:learngit

--进入到文件夹中,打开git bash

2.开发模块内容

--git clone git_submodule 的url地址,将创建的项目克隆到本地

--编辑项目内容,比如:新建一个txt文件,并填入一些内容。

3.提交修改本地

--cd 到子模块文件夹中

--git status 查看修改

--git add . ,将所有改动添加到缓存区中

--git status,查看添加的状态

--git commit -m ‘creat new .txt file‘, 提交并对更改进行说明

4.首次更新到远程

--ssh-keygen -t rsa -C "[email protected]",在本地创建公钥。

(email地址改成自己的github邮箱地址)

--把C:\Users\Administrator\.ssh中,id_rsa.pub公钥中的内容添加到github。(titile随便写)

    

--git remote add origin [email protected]:asd571362/git_submodule.git,

(替换成自己的用户名和项目名),关联远程仓库。

如果已经存在,执行git remote rm origin,再执行上一步。

-- git push --set-upstream origin master,首次推送并设置关联远程master分支

5.模块后续更新。

--执行2、3步骤,略过第4步。

--git pull,查看是否有冲突,如有冲突,进行修改。然后重新执行2、3步骤。

--git push 推送更新到远程。

二、作为子模块集成及更新到第三方平台

1.fork 平台项目

--到对应的平台项目页面,点击fork

2.子模块集成到平台

--git clone fork后的url地址

--git submodule add 子模块地址 平台子模块文件夹/git_submodule , 平台子模块文件夹为平台中第三方模块添加的位置,不同平台可能不一样,以平台说明为准。

--git status 查看仓库状态

--git commit -m ‘add git_submodule‘

--git remote add origin [email protected]:asd571362/JS.git,首次关联远程仓库

--git push --set-upstream origin master,首次提交到远程仓库

--提交成功后,在平台子模块文件夹中出现了git_submodule模块,

@后面的是当前子模块指向的commit版本号

--点击pull request 提交更新请求,平台维护方同意后就可以出现在平台源地址。

3.子模块更新到平台

--子模块更新必须对接平台的最新版本,可以删除重新fork。(也有其它设置的方法,但是重新fork比较简单)

--git clone fork后的url地址

--cd 到 子模块的父文件夹

--git submodule init 子模块名称,初始化子模块(只添加子模块版本的指针,文件夹是空的)

--git submodule update 子模块名称,更新平台中的子模块文件到本地

-- cd git_submodule/,进到子模块分支显示的是之前指向的版本号。

--git checkout master ,切换到主分支

--git pull ,查看是否有冲突

--git merge origin/master 合并远程分支

--cd .. ,git status,回到上层目录,查看仓库状态

--git pull , git add . ,git commit -m ‘update git_submodule‘

--git push, 成功后fork的项目中子模块的版本会更新到最新版本

最后,pull request。

待解决:每次重新克隆后,push失败,需要重新关联remote项目?

git submodule使用以及注意事项

一、背景

在平时的软件开发过程中常常会有这样的场景,自己负责的某个模块会依赖其他模块或者第三方的library。这时你自己的模块是一个独立的代码仓库,你想要实现这样一种功能,当你从你的模块的代码仓库里把代码拉到本地来的时候,能自动的将你依赖的模块或第三方库都拉到指定的目录当中去。

当然要实现这个功能的方法有很多,比如使用repo之类的工具,又比如如果你使用的是svn作为版本管理工具,那么你可以使用svn的external机制来引用第三方的project。

这里要说的是使用git作为版本管理工具的情况。

二、git submodule

其它的细枝末节就不再赘述了,咱直奔主题。

先来看具体用例:

目前有一个模块A,其代码仓库的地址为:projectA.git, 它需要引用另一个模块B, 其代码仓库的地址为:projectB.git。

假设模块A的本地目录为:projectA

希望引用模块B为模块A的子模块,其在模块A目录下的路径为: projectA/projectB

这里我们通过git 的submodule机制来实现。

比如在命令行里可以直接使用如下命令:

cd projectA
git submodule add projectB.git projectB
  • 1
  • 2
  • 3

注: 这个submodule的 子目录指定时不能以 “/”结尾, 比如上面的命令,就不能写成 projectB/ 这个样子。

就这么简单的一句git命令就可以搞定了,当然这还没完,运行完这个命令之后,在projectA目录执行git status命令,可以看到如下的结果:

这时需要使用git commit命令和git push命令,将添加模块B为模块A的子模块的结果push到模块A的代码仓库里面去。

三、git clone包含子模块的代码仓库

此时,就可以使用git clone命令来抓取模块A的代码仓库,但要同时抓取到子模块的仓库的话,还需要一些方法:

  • 正常的使用git clone命令,然后再使用 git submodule init 和git submodule update来获取子模块
git clone projectA.git
cd projectA
git submodule init
git submodule update
  • 1
  • 2
  • 3
  • 4

其运行结果如下:

  • 在使用git clone命令时,加上–recurse-submodules或–recursive 这样的递归参数
git clone --recursive projectA.git
  • 1

其运行结果如下:

四、tortoisegit操作submodule

如果是使用tortoisegit的话,也可以使用图形化界面进行submodule的相关操作,如添加submodule就选择如下图所示的菜单:

添加子模块的界面大概就是下面这个样子:

这里和上面一样“path”一栏不能以”/”结尾。 填写之后,点击OK,就会在主模块的目录下添加对应的子模块。

在clone时也是一样的,它既可以只是clone,然后用上面菜单中,Submodule Update 选项来抓取子模块的内容,也可以在clone时选择递归参数,如下所示:

五、忽略submodule中的修改或新增文件

我们引用第三方的project,大多数情况都是想以“只读”的方式引用,不关心第三方project抓取下来之后是不是被修改,或者是在其目录中添加了untracked的file, 因为我们只是拉取第三方的project,而不会(往往时不能或不允许)对第三方project进行提交。

以上面的模块A和模块B的例子来说,如果模块A和模块B中都有进行修改,其结果可能就是如下这个样子:

这并不是我们想要的结果。一开始的时候我的想法是使用 .gitignore 来忽略submodule的修改,但是无法做到,后来经过一番搜索,终于找到了解决良药。在添加了submodule之后,project的目录下回生成一个.gitmodules文件,这个文件记录了子模块的路径和仓库地址等信息,如下图所示:

我们要做的就是在[submodule “projectB”]中添加一个ignore子项,这个ignore子项可以有上个可选的值,untracked, dirty和all, 它们的意思分别是:

  • untracked :忽略 在子模块B(也就是projectB目录)新添加的,未受版本控制内容
  • dirty : 忽略对projectB目录下受版本控制的内容进行了修改
  • all : 同时忽略untracked和dirty

这里我们先选择dirty(至少先保证不提交对子模块B的任何修改),其他的可以根据具体需求来进行选择。

添加ignore子项之后的.gitmodules文件的内容如下所示:

然后我们再使用git status查看,可以得到图下结果:

可以看出,之前 “modified: projectB(modified content)” 已经不见了, 此时对修改后的.gitmodules文件进行commit和push, 之后在查看status或做commit时就可以忽略掉对子模块B修改的部分了。

如何将Android studio中的项目导入到第三方的git托管库中

版权声明:本文为博主原创文章,转载留下原文链接。 https://blog.csdn.net/IT_XF/article/details/80430761

准备工具

  • git

    我们需要在git官网下载最新的git工具,并且将其配置到环境变量中

  • 第三方代码托管的网站

    GitHubcoding码云

    本篇文章我将以coding作为例子


新建项目

假设此时你已经下载并安装好了git,也在coding上注册了账号。

那我们点击coding上的创建项目

输入好项目名称,然后添加项目描述,在选择私有项目和公开项目的时候注意下,如果不是银牌会员以上,在coding上只能创建5个私有项目,当然,你也可以不花钱,升级成银牌会员,然后就可以有10个私有仓库了。不过公开项目倒是可以无限创建。

所有都输入完毕后,我们点击新建项目,之后会来到以下界面


初始化本地仓库

现在我们电脑上已经有一个Android studio项目了,我们要怎样将电脑本地的项目上传到已经准备好到代码托管库中呢

首先我们通过cmd中的cd命令进入到我们的项目中,使用如下命令将我们本地的项目变成有git仓库的项目

git init
  • 1

使用完该命令后,本地项目会多出一些文件

其实使用了git init命令后,本地已经是一个git仓库的状态了,已经可以正常使用git了,所以我们使用以下命令,将当前所有的代码都添加到本地仓库中

git add *
  • 1

然后做一次提交操作,将代码都提交到仓库中

git commit -m "首次提交"
  • 1

现在,我们将本地仓库和coding上到仓库做一个绑定处理

其实怎么绑定,在coding上创建项目的时候,coding都告诉我们了

我们只需要顺序使用这两行命令就搞定了

git remote add origin https://git.coding.net/用户名/项目名.git
git push -u origin master
  • 1
  • 2

这样,我们本地已经存在的Android项目就已经和coding上我们创建的项目仓库绑定了。

我们去检查一下coding上有没有我们的代码

看来已经绑定成功了!


使用

让我们来使用一下,首先我们使用Android studio打开我们的项目,然后我们会发现工具栏上会多出这些图标,我用的Android studio3.1.2,不同的版本可能图标形状会不一样,这个形状是我最近升级后的新图标。不过位置都在这里。

打开Android studio后,可能会提醒出现一个提醒框,大概意思是,是否新增的文件都自动add,这里推荐自动add。

原来的工具栏

现在的工具栏

  • 新建文件

    在studio上新建一个文件,如果在最开始都提示框选择的是默认添加,那么新建的这个文件就会是绿色,否则就是红色。

    如果是红色怎么办呢,那么我们就要自己手动添加一下,方法如下:

  • 提交文件

    有了Android studio的协助,提交文件变得十分简单

    方式1:

    方式2:

    然后(刚刚提交A的时候忘保存截图了,所有新建了个B文件)

    这样文件就保存了

  • 上传文件

    其实到这里,本地的仓库就OK了,那么我们现在需要将本地仓库提交到远程的coding上的仓库中,如果觉得下图找起来太麻烦,studio有提供快捷键,还是很方便的。

    然后来到这里

    点击push,就可以将代码上传到远程仓库中啦!

现在我们去远程仓库中去看看是否上传成功

看来已经完美上传成功!

小提示

Android studio中的文件有4种颜色,分别是白、红、绿、蓝

原文地址:https://www.cnblogs.com/marklove/p/9733726.html

时间: 2024-11-07 20:35:14

git 添加外部项目地址的相关文章

微信公众号中添加外部链接地址的图文教程

2017-9-18,长沙,有点闷,有点热. 本教程教大家如何在微信公众号中,添加外部的链接,网络有很多教程,但由于表述不太清楚,出个教程吧.最终实现在微信后台管理平台"原文链接"处插入外部链接,用户点击发布好的图文文章底部左下角的"阅读原文",就可以跳转到您添加的外部链接页面中去. 第1步. 使用微信公众管理帐号登陆微信管理后台 > 素材管理 > 图文消息 >  新建图文消息或者编辑文章都可以,如下图所示: 第2步. 之后,将页面向下拉,看到底部&

用Git上传项目到github

如何使用Git上传项目代码到github 注:本文引用于 http://1ke.co/course/194 github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开.这对于一般人来说公共仓库就已经足够了. 注册账户以及创建仓库 要想使用github第一步当然是注册github账号了.之后就可以创建仓库了(免费用户只能建公共仓库),Create a New Repository,填好名称后Create,之后会出现一些仓库的配置信息,这

使用Git上传项目代码到github

github是一个基于Git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开.这对于一般人来说公共仓库就已经足够了. 注册账户以及创建仓库 要想使用github第一步当然是注册github账号了.之后就可以创建仓库了(免费用户只能建公共仓库),Create a New Repository,填好名称后Create,之后会出现一些仓库的配置信息,这也是一个git的简单教程.步骤如下: 打开https://github.com 直接在首页上注册 点按钮注册

git在本地项目中指定远程仓库地址并上传

其实可以有更简单的方法,就是在远程仓库建立仓库,然后用 git clone 仓库地址 命令来将远程仓库克隆到本地,然后再把我们之前的项目拷贝到该目录中,然后就是传统的git add git commit git push 等等. 这种情况很简单,但是个人觉得不是很专业,因为这样之后,我们本地可能又要重新import一次进入IDE(集成环境,但这都不是主要原因).更重要的是,我们直接clone下来,其实git的仓库环境都已经有了, 我们就不会再自己动手去匹配本地仓库和远程仓库的关系,然后久而久之,

Git第一次新建项目添加ssh key

Git第一次新建项目添加ssh key Last login: Mon Sep  3 08:59:35 on console localhost:~ dajiang$ cd ~/.ssh -bash: cd: /Users/dajiang/.ssh: No such file or directory localhost:~ dajiang$ sudo apt-get install git Password: sudo: apt-get: command not found localhost

Git下创建项目、添加描述并将本地项目关联远程仓库和上传

1.通过OSChina中创建项目 2.创建完成项目后,我想为项目加上相当详细的说,并且有截图,这样其实也很简单只需要添加一个 README.md文件就可以了.请点击此处输入图片描述 在里面你可以添加详细的描述,也可以上次图片.瞧下图效果 3.接下来我想将Git中的项目和本地项目关联 在源代码项目目录执行命令 git init,初始化一个空的git项目 接下俩执行git status 就可以看到很多新增的文件了 然后执行git add . / git add -A /git add 指定某个文件或

【Git项目管理】分布式 Git - 向一个项目贡献

分布式 Git - 向一个项目贡献 向一个项目贡献 描述如何向一个项目贡献的主要困难在于完成贡献有很多不同的方式. 因为 Git 非常灵活,人们可以通过不同的方式来一起工作,所以描述应该如何贡献并不是非常准确 - 每一个项目都有一点儿不同. 影响因素包括活跃贡献者的数量.选择的工作流程.提交权限与可能包含的外部贡献方法. 第一个影响因素是活跃贡献者的数量 - 积极地向这个项目贡献代码的用户数量以及他们的贡献频率. 在许多情况下,你可能会有两三个开发者一天提交几次,对于不活跃的项目可能更少. 对于

windows下使用git管理github项目

在项目版本控制管理中,我想大家都熟悉CVS或着SVN了,对于新兴的git大多人还是抱着观望的态度,本文简单介绍如何在windows下使用git及github仓库管理项目. 第一,下载并安装git 目前windows版本的git有几种实现,但我们选择msysgit发行版,这是目前做得兼容性最好的.下载地址:http://code.google.com/p/msysgit/downloads/list 下载完成后双击安装文件并按照提示完成git的安装.git的安装过程十分简单,安装完毕后会提示你做初

git添加多账户(转)

多github帐号的SSH key切换 我有两个github帐号,一个是个人所用,一个是为公司项目所用.如果是单用户(single-user),很方便,默认拿id_rsa与你的github服务器的公钥对比:如果是多用户(multi-user)如user1,user2,那么就不能用在user2的身上了,这个时候就要配置一下了: 1.新建user2的SSH Key #新建SSH key: $ cd ~/.ssh # 切换到C:\Users\Administrator\.ssh ssh-keygen