面向对象:曾经使用过SVN的同窗。服务器
(由于Git 它 能够说是双重的SVN (本地一个服务器,远程一个服务器)),提交代码要有两次步骤,先提交到本地服务器,再把本地服务器在提交到远程服务器。网络
因此连SVN的同窗都没有使用过就好好使用一下SVN吧。工具
a1.代码更新。对象
在SVN中操做,咱们要提交已经修改过的代码前,必定会记住。ip
"先更新,在提交" (否则你的小伙伴的代码就被你全覆盖了,而后你的小伙伴就会躲在公司墙角画圈圈了)开发
因此在Git里面操做。也是这样的。不过就多了一个步骤,就是 先更新 "远程服务器 --> 本地服务器",再进行 更新 " 本地服务器 --> 本地代码"。编译器
咱们仍是上图吧。it
Eclipse的操做就是:io
1.指向表明的意思是只更新 "远程服务器 --> 本地服务器" 简称(Fetch)编译
当你更新后,你当前更新的项目与Git Repositories都会有相似一个向下的箭头,这表明“远程服务器”有东西更新到你的“本地服务器 ”,具体数量就是箭头隔壁的数字
2.指向表明的意思是 "远程服务器 --> 本地服务器" 与 " 本地服务器 --> 本地代码" 都执行 简称(Pull)
(固然有前后顺序的,先 "远程服务器 --> 本地服务器" 后 " 本地服务器 --> 本地代码")
这个操做实际上是面向懒人把Git当成SVN使用,一步更新,官方也是不推荐这样作,由于这样,你本地代码,可能一会儿代码冲突不少,给开发人员带来不少不便。
因此仍是老实点,一步步来更新吧。
而在Android Studio的操做就是:
1.不知道怎么回事,在Android Studio就没有两步更新的操做,只有上面两个箭头的操做,都是直接把"远程服务器 --> 本地服务器" 与 " 本地服务器 --> 本地代码" 都执行了,
因此一更新完,你就等着去解决冲突吧。
a2.说完更新,接着说提交代码。
其实通过刚才的更新讲解后,小伙伴们都知道"远程服务器 --> 本地服务器" 与 " 本地服务器 --> 本地代码" 的关系了,
因此提交代码实质上都要走这样的操做 " 本地代码 --> 本地服务器" "本地服务器 --> 远程服务器"
仍是上图吧!
其实小伙伴就记住两个词就行了。
Commit : " 本地代码 --> 本地服务器"
Push : "本地服务器 --> 远程服务器"
Eclipse的操做就是:
1.从上面的图中看到,在Git的做出修改,会有一个箭头指向。
而后你右键项目又好,右键箭头文件也好。都是执行commit操做。
去到commit界面
Git 的Commit有种强迫症,必定要你打注释,否则不给你提交。
当你敲入 Commit Message后,Commit 与 Commit and Push 就会可点击了
Commit只是提交到 "本地服务器"
Commit and Push 就两步都会作( " 本地代码 --> 本地服务器" "本地服务器 --> 远程服务器" 有前后顺序,我下次不说了)
后面我就不写了。由于后面的都是敲帐号和密码,若是你第一次 Push 代码 的话,才须要敲。
一般 Push 不了,无非就两个问题。
第一。你代码冲突尚未解决,一会 “代码冲突” 说具体讲解
第二。就是可恶的网络问题。(同窗。这个我可帮不了你了)
其余的,我暂时没有遇到
而在Android Studio的操做就是:
具体与Eclipse的同样差很少,
就是Git Repositories 变成
经过这里你能够知道你的修改的代码Push 了没有
而后。
接着仍是那些填帐号密码的操做,就不说了。
b 说说代码冲突吧。
1.先说Eclipse吧:
若是你是先修改完代码尚未commit,在执行Fetch,那你尚未feel到代码冲突。
I.只要你commit到本地服务器,IDE编译器就自动告诉你,已经冲突,要求你马上解决。
II.若是你比较任性的话。直接想Commit And Push, IDE编译器也会很任性的回复你这样的图
拒绝你Push,说你还有问题没有解决。
可是你已经Commit了,可是又没法Push,
这是你应该要执行一下 Pull ,把 刚才Fetch 的代码植入"本地代码",这时IDE编译器才自动告诉你,已经冲突,要求你马上解决。
而且把冲突文件标记为一个双向箭头
如图
若是你如今还想执意Push代码,获得的就是下图:
Repository state : Conflicts(简单意思就说:大哥,代码冲突啊,解决后,再提交吧)
而后,你解决后,保存,发现,那个文件仍是像下图的那样,没法提交。
这时,应该
执行这样“Add to Index ”的操做,告诉IDE编译器你已经解决冲突了,以下图:
如今你就能够去Commit 也好,Commit And Push 也好,IDE编译器都会经过的(其实告诉你。去吧,骚年!)
2.Android Studio在 在更新代码时,
若是按工具栏的更新图标的话,若是有冲突时 就强制性让你去解决冲突。出现下图
经过点击Merge能清楚知道,你的代码,解决后冲突的代码,服务器的代码
解决后冲突的代码直接覆盖你的本地代码。(或者你点击Close,而后冲突的代码直接跳在你的本地代码,让你在本地代码修改。)
解决完冲突后,就能够Commit和Push了。比Eclipse方便一点点。