远程代码库与本地仓库的连接
1、首先配置本地git
2、AS中的git配置:
Setting-> VersionControl ->Git ->Path 选择 git.exe所在的目录位置,然后点击Test, 出现Git executed successfully即配置成功,可以使用了。
3、在GitLab 上创建自己的仓库
(eg: MyApplicationTest);
4、在AS上创建自己的项目
(eg:MyApplicationTest);
5、在AS上创建本地仓库 :
VCS ->Import into Version Control ->Create Git Respository
(这时候可以看到项目的颜色变了)
6、工程完了要提交到git上:(注:这是第一次把工程提上去)
第一步:工程右键 -> Git -> Add (文件变成绿色)
第二步:工程右键 -> Git ->Commit Directory
第三部:VCS -> Git ->Push 弹出一个框如下图:
Name 值默认origin (远程分支的意思)
URL 里复制 gitLab 上仓库的地址,点击ok就可以了。(此时已经把项目推到了git上了)
本地分支与远程分支的代码提交与合并
以上是首次把项目推到git上的操作,后期的开发维护还需开发者创建自己的分支:
1、先git上的工程里创建远程分支
2、As里右下角可以看到,然后可以创建本地分支关联远程的分支,如下图:
图一中我选中远程的 wangna 分支 ,选择第一个 Checkout as new local branch, 这个的意思是创建与该远程分支关联的一个分支,并切换;图二是创建该本地分支的命名窗口,开发者随意命名,只要自己清楚自己的分支就可以了。
点击ok,创建完成后可以看到自己在刚刚创建的分支上了,可以看下图:
3、在当前分支上 ,开发者对工程做了修改,提交前先pull , 然后 commit ,最后push
(注:push是推到远程分支,可以选择推到当前关联的分支,或者直接推到developer分支,一般都是推到当前关联的分支,再merge到developer的分支)。
4、merge到developer分支上首先要切换到developer分支,先pull, 然后 vcs ->git ->merge Changes :
选择上面要合并的某个分支,然后Merge ,就会合并到当前developer分支上了。(注 :merge的时候可能会出现冲突)
以上步骤 可能会发生的情况:
1、如果在当前分支上pull失败 ,那是因为当前所在的本地分支没有关联远程的分支:
解决办法 :
方法1、命令 git branch –set-upstream name origin/name
方法2、直接选择push ,弹窗会默认新建一个远程的分支,如图
点击push 就创建远程分支并关联了,也可以把蓝色分支名“+BaJie” 改成远程已有的分支名进行关联。
2、 如果在push的时候发生冲突了会出现这个
选cancel是取消当前push操作;
选merge是把当前自己的内容推上去,那么就覆盖了别人推的内容。
这一步 最好是先cancel ,然后pull ,就会弹出哪个文件冲突的提示框了,如下图:
此步就和SVN的冲突差不多了。(merge的时候有时候也会出现冲突 如上图)
补充具体分支操作说明,看完如下补充,你将立马从菜鸟变大神,鸟枪换大炮咯:
1、当前本地分支操作
2、执行commit提交代码到本地库,提交完成变色
3、提交代码到远程代码库中
4、切换到developer的主分支来,checkout下代码
个人分支的代码:
切换到主分支后的代码:
比较上面2组图片会发现,代码的差异性
切换分支时的操作如下:
5、在主分支操作合并个人分支代码的操作
6、合并后的界面
但是不要开心,还没有结束,你只是合并了个人远程分支的代码到主分支中,此时你还是要执行push操作才能在远程的主分支中看到效果,操作如下:
去提交你修改的代码部分,注意此处如果线上也可能会出现代码合并的界面,请注意合并内容更改。
至此你方能在主分支中观察效果,有则成功,无则加冕。
下面补充代码提交的步骤:
每一个远程分支都需要对应一个自己的本地分支,即:
wangyang——-> origin/wangyang
developer——–> origin/developer
master ———–> origin/master
左侧对应的都是新增的本地分支。右侧为远程分支
1、 当你所处的分支为左侧分支时,你需要做的是先commit代码到本地库,然后VCS—> Git —–> push 到对应的右侧的远程仓库中,成功后在代码库中将能看到提交过后的代码。
2、 当你需要合并代码到更高一级的分支时,如origin/wangyang ——> origin/developer ,此时你需要切换到developer分支为当前分支,然后选中origin/wangyang,再选中merge合并操作,成功后功能即可实现,但是注意:此处合并完的代码在远程代码库中无法看到,因为你合并的是在本地的developer分支中,远程中没有,还需要再做一步操作,VCS—> Git —–> push 到对应的右侧的远程仓库中。
3、 之后的更多操作将重复1和2,直至在对应的库中获取到对应的代码。
操作截图如下:
创建好如下分支,如果对应的远程分支(origin/…)没有创建本地的仓库,即对应在1操作中中没有对应的,你可点击2操作中的第二步checkout as new branch来新增本地库,名称默认即可。
如果对应的本地和远程仓库都有,即可按照如下操作来切换进入对应的仓库中拉取代码。
在当前库中修改的代码会变蓝色,即