上一篇: 创建自己的开源项目3-将远程代码仓库下载,并创建本地代码仓库(myeclipse + github)
上一篇将了如何创建一个myeclipse项目,并把项目初始化为本地代码仓库,并与远程代码仓库(github)进行关联。那么如果我们本地的myeclipse项目下我们创建了代码,如何将其放到本地代码仓库中,并同步到远程代码仓库github上呢?这一篇将掰开揉碎了讲。
首先看下我们那个已经与远程代码仓库github关联了的那个项目,
蓝框里框出来的,NO-HEAD,意思就是说没有头。啥是头呢?让我们讲讲git这个代码版本管理工具,是如何个工作结构。
我们先理解git这个工具。git是代码版本管理工具,也是团队合作进行提交代码版本的一个工具。
比如你某天做梦灵光闪现,发现了一个闪闪发光的点子,急于跟世界分享,于是搞了一个初级版本,并提交到了github,那么你这闪闪发光的点子吸引了世界各地男女老幼的想要和你一起开发的小伙伴,那么每个小伙伴都需要基于你的代码扯一个新的代码分支,在他们自己的分支上写好代码,写好了将他们的本地代码与远程代码同步完,然后提交给你,让你决定是否采纳他的那个分支,如果采纳,那么他分支上的代码就可以融合到你写的代码里面。此时每个小伙伴都有了一个叫HEAD的标志,这个HEAD指向他扯的那个分支,表示这是他的地盘上的旗帜。
等他这个分支不能满足他的需要的时候,他可能又扯了你提交的另外一个分支的小分支。此时,他就有了多个分支。有多个分支,那么怎么表示哪个是最近提交过的那个分支呢?就用HEAD这个标识来指向。
我们现在并没有进行过第一次提交,所以这个仓库里并没有任何分支,也就无从谈起最近提交的分支了,所以显示NO-HEAD标识。
那么让我们去掉NO,提交一次我们的第一个代码版本,第一个代码分支。
首先我们创建一个代码文件,以HelloWold为例,如图:
看这个文件上,创建的包图标上有个小问号,说明,此时git工具并没有识别到这个文件相关的git信息。因为我们这时候只是在项目空间里创建一个类文件,还没有放到本地仓库中,更没有与远程代码仓库进行同步。
让我们把这个文件先放到本地仓库:
拿到本地仓库库房钥匙index之后的样子:
拿到放到本地仓库的库房钥匙了,下一步根据库房号将代码放到相应的仓库库房里。
点击commit就是将代码提及到本地代码仓库。如果点Comit and Push是提交到本地代码仓库,并同时同步到远程代码仓库github中。
看NO-HEAD标识没了是吧,显示的是当前的分支master(默认第一个分支就是master)。
恭喜,你的HelloWorld已经放到了本地代码仓库中了。
下面马不停蹄进行将本地仓库中的代码同步到远程代码仓库中。
点击push
此时弹出框:要我们填写远程代码仓库的地址,以及打开仓库的令牌(用户名,密码)。由于github上我们已经创建好项目了,所以登陆进github,获取远程仓库的地址信息:
就不强调这个用户名,密码的重要性
点进右下角的仓库,进入,
点击后就后将远程代码仓库的地址等信息复制到剪切板中。
然后再重新push,此时,看
然后填写use:jiaozongguan 密码: (别填错了) 这个用户名,密码,是github登陆的用户名,密码。
现在有两个选项可以选择,一个是HEAD,一个是master。由于现在就一个分支,master,并且同时也是最近提交的分支,所以本质上是一样的。但如果有多个分支之后就不一样了。我这里准确起见(一般情况HEAD不一定是哪个分支),我只接选择到自己想要提交到的那个分支上。
然后 next 一路ok。
恭喜你,终于将本地项目的第一个代码文件存到本地代码仓库中并同步到了远程代码仓库。
现在让我们去github 我们的远程代码仓库中看下,我们创建的这个分支,以及里面的代码是怎么存放的:
现在,你可以同步代码啦。从现在开始通知小伙伴,拉你的分支,做他们的事情啦!
注:如果使用myeclipse开发工具,可能会遇到每次提交代码到远程仓库时,会每次都需要输入路径。原因是使用的https协议,没有保存。解决办法是,github页面上选择路径的时候,使用ssh协议
这样下次提交代码,只需要输入密码就行。