在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"

面向对象:曾经使用过SVN的同学。

(因为Git 它 可以说是双重的SVN (本地一个服务器,远程一个服务器)),提交代码要有两次步骤,先提交到本地服务器,再把本地服务器在提交到远程服务器。

所以连SVN的同学都没有使用过就好好使用一下SVN吧。

a1.代码更新。

在SVN中操作,我们要提交已经修改过的代码前,一定会记住。

"先更新,在提交" (不然你的小伙伴的代码就被你全覆盖了,然后你的小伙伴就会躲在公司墙角画圈圈了)

所以在Git里面操作。也是这样的。不过就多了一个步骤,就是 先更新 "远程服务器 --> 本地服务器",再进行 更新 " 本地服务器 --> 本地代码"。

我们还是上图吧。

Eclipse的操作就是:

在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"

1.指向代表的意思是只更新 "远程服务器 --> 本地服务器" 简称(Fetch)

在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"

当你更新后,你当前更新的项目与Git Repositories都会有类似一个向下的箭头,这代表“远程服务器”有东西更新到你的“本地服务器 ”,具体数量就是箭头隔壁的数字

2.指向代表的意思是 "远程服务器 --> 本地服务器" 与 " 本地服务器 --> 本地代码" 都执行  简称(Pull)

(当然有先后顺序的,先 "远程服务器 --> 本地服务器" 后 " 本地服务器 --> 本地代码")

这个操作其实是面向懒人把Git当成SVN使用,一步更新,官方也是不推荐这样做,因为这样,你本地代码,可能一下子代码冲突很多,给开发人员带来很多不便。

所以还是老实点,一步步来更新吧。

而在Android Studio的操作就是:

在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"

1.不知道怎么回事,在Android Studio就没有两步更新的操作,只有上面两个箭头的操作,都是直接把"远程服务器 --> 本地服务器" 与 " 本地服务器 --> 本地代码"  都执行了,

所以一更新完,你就等着去解决冲突吧。

a2.说完更新,接着说提交代码。

其实经过刚才的更新讲解后,小伙伴们都知道"远程服务器 --> 本地服务器" 与 " 本地服务器 --> 本地代码" 的关系了,

所以提交代码实质上都要走这样的操作 " 本地代码 --> 本地服务器"  "本地服务器 --> 远程服务器"

还是上图吧!

其实小伙伴就记住两个词就好了。

Commit : " 本地代码 --> 本地服务器"

Push :  "本地服务器 --> 远程服务器"

Eclipse的操作就是:

在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"

1.从上面的图中看到,在Git的作出修改,会有一个箭头指向。

然后你右键项目又好,右键箭头文件也好。都是执行commit操作。

去到commit界面

在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"

Git 的Commit有种强迫症,一定要你打注释,不然不给你提交。

当你敲入 Commit Message后,Commit 与 Commit and Push 就会可点击了

Commit只是提交到 "本地服务器"

Commit and Push 就两步都会做( " 本地代码 --> 本地服务器"  "本地服务器 --> 远程服务器" 有先后顺序,我下次不说了)

后面我就不写了。因为后面的都是敲账号和密码,如果你第一次 Push 代码 的话,才需要敲。

通常 Push  不了,无非就两个问题。

第一。你代码冲突还没有解决,一会 “代码冲突” 说具体讲解

第二。就是可恶的网络问题。(同学。这个我可帮不了你了)

其他的,我暂时没有遇到

而在Android Studio的操作就是:

具体与Eclipse的一样差不多,

就是Git  Repositories 变成

在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"

通过这里你可以知道你的修改的代码Push 了没有

在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"

然后。

在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"

接着还是那些填账号密码的操作,就不说了。

b 说说代码冲突吧。

1.先说Eclipse吧:

如果你是先修改完代码还没有commit,在执行Fetch,那你还没有feel到代码冲突。

I.只要你commit到本地服务器,IDE编译器就自动告诉你,已经冲突,要求你立刻解决。

II.如果你比较任性的话。直接想Commit And Push, IDE编译器也会很任性的回复你这样的图

在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"

拒绝你Push,说你还有问题没有解决。

但是你已经Commit了,但是又无法Push,

这是你应该要执行一下 Pull ,把 刚才Fetch 的代码植入"本地代码",这时IDE编译器才自动告诉你,已经冲突,要求你立刻解决。

并且把冲突文件标记为一个双向箭头

如图

在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"

如果你现在还想执意Push代码,得到的就是下图:

Repository state : Conflicts(简单意思就说:大哥,代码冲突啊,解决后,再提交吧)

在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"

然后,你解决后,保存,发现,那个文件还是像下图的那样,无法提交。

在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"

这时,应该

在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"

执行这样“Add to Index ”的操作,告诉IDE编译器你已经解决冲突了,如下图:

在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"

现在你就可以去Commit 也好,Commit And Push 也好,IDE编译器都会通过的(其实告诉你。去吧,骚年!)

2.Android Studio在 在更新代码时,

如果按工具栏的更新图标的话,如果有冲突时 就强制性让你去解决冲突。出现下图

在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"

通过点击Merge能清楚知道,你的代码,解决后冲突的代码,服务器的代码

解决后冲突的代码直接覆盖你的本地代码。(或者你点击Close,然后冲突的代码直接跳在你的本地代码,让你在本地代码修改。)

解决完冲突后,就可以Commit和Push了。比Eclipse方便一点点。

上一篇:Hessian序列化的一个潜在问题


下一篇:Android Studio上的几个插件