Android Studio项目与Git托管

1.      简单理解之间的关系:

其整体结构可以看成三部分:

A:文件夹/文件实例;

B:本地git仓库;

C:远程git仓库。

他们之间的工作原理流程:首先创建一个本地git仓库,然后将文件(夹)实例add进来,然后提交commit到本地虚拟缓存中,把本地git仓库和远程git仓库关联起来,最后将本地git仓库内容push推送到远程git仓库(关联推送有两种方式:https和ssh)

(本教程通过ssh,需要提前配置好ssh)

2.      三者之间建立联系:

首先as中的工程项目可以看成是文件夹文件实例,然后选定工程目录把自己变成为本地git仓库



当项目文件夹变成了本地git仓库以后,目录下面的文件就会变红色,

 

3.      选择工程文件夹,鼠标右键,将工程内容add到本地git仓库中去


当工程内容add到本地的git仓库中后,文件名会变成绿色;

4.      将本地git仓库和远程git仓库关联起来,commit提交至缓存并push推送到远程仓库


如图,找到as工程文件夹,点击鼠标右键,git bash here通过git bash命令将本地git仓库和远程git仓库关联起来

5.      可以通过进入as中查看工程是否有关联到对应的远程仓库,如图:


点击pull进入


如图,可以看到工程已关联remote仓库John/Test.git,且Branches to merge中有origin和master选项,此时可以commit提交和push推送as工程到git远程仓库上去。

6.      将本地git仓库关联git远程仓库后,即在as中选择项目,鼠标右键将工程提交并推送到git远程仓库上去,如图:


7.      点击Commit Directory…将工程提交并推送到远程git仓库上去

如上图


如图所示,选择Commit and Push…将工程提交并推送到远程git仓库上去,大功告成。

注意:首次提交,Commit Message栏一定要填写备注信息,否则无法提交,并会弹出对话框提示:please specify commit message。

8.      疑难杂症:

1.      在步骤5中,如果点击pull进去有remote远程仓库,但Branches to merge中没有origin和master是怎么回事,怎么办?

2.      在as项目中,应该右键app文件夹还是工程名字文件夹


在Android下选择app文件夹右键


3.      

在Project下Test工程名右键

两者上传到远程仓库时又会有什么差别呢?

解答:8.1 没有origin 和master 的话,有两种可能:

1.可能是在关联远程仓库时出了差错;

2.可能是as工程没有提交和推送到远程git仓库

以上两种只是猜测,待验证

如果是第一种情况,在git bash时可以 git init初始化仓库

或者 git remote rm origin取消关联仓库,

然后再重新关联 git remote add origin…

如果是第二种情况就正常流程提交,注意第一次提交推送必须要填写

Commit Message,否则无法提交且系统提示。

         实践证明:1.通过git bash 命令将本地git仓库和远程git仓库关联起来后,如图


如图,在Branches to merge栏并没有出现origin和master,没有毛病,当as工程提交到远程git仓库上去后才会在Branches to merge栏出现origin 和master

 

8.2目前简单来看,提交Android下的app文件夹是一些主要的文件,

 而提交Project下的工程名文件夹则会包括app在内及一些配置文件


8.3  在as工程中,可以单个文件提交推送,也可以整个目录提交推送,看需要。

单个修改提交推送的话选择单个文件,推送,(可以右键或vcs),选了文件就

没有add选项,只能commit和推送

8.4当从github,gitlab等地方clone他人的as工程时,工程默认Remote是他人的git远程仓库,可以直接提交到他人git远程仓库,但需要输入他人密码或者被拒绝(前提也是as工程需要变成本地git仓库)


猜你喜欢

转载自blog.csdn.net/ffb920724/article/details/71172502