GitHug备忘 原

作为开源代码库以及版本控制系统,Github拥有140多万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法[2] 。

如前所述,作为一个分布式的版本控制系统,在Git中并不存在主库这样的概念,每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。

GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForgeGoogle Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。

在GitHub进行分支就像在Myspace(或Facebook…)进行交友一样,在社会关系图的节点中不断的连线。

GitHub项目本身自然而然的也在GitHub上进行托管,只不过在一个私

有的,公共视图不可见的库中。开源项目可以免费托管,但私有库则并不如此。Chris Wanstrath,GitHub的开发者之一,肯定了通过付费的私有库来在财务上支持免费库的托管这一计划。

是的,我们正是这么计划的。通过与客户的接洽,开发FamSpam,甚至是开发GitHub本身,GitHub的私有库已经被证明了物有所值。任何希望节省时间并希望和团队其它成员一样远离页面频繁转换之苦的人士都会从GitHub中获得他们真正想要的价值。

在GitHub,用户可以十分轻易地找到海量的开源代码。【以上摘自百度百科

    这里介绍的github的客户端的使用。

    首先下载github的客户端,客户端分为GUI和Shell两种,以前的客户端功能强大但个人感觉界面不太喜欢,倒不如直接使用eclipse下的git插件。不过现在的客户端相当漂亮而且同样功能更强大,于是开始从eclipse转向客户端了。

    客户端官网地址下载地址

    下载完成后双击运行,会检测所需的环境支持,若不存在会自动下载。安装很简单,默认下一步即可。

    安装完成桌面出现如下图标

    双击github,会提示输入用户名密码,连接后进入主界面,如下:

     然后配置自己的git仓库地址(需要在github官网创建仓促,然后复制地址),点击右上角齿轮状图标,选择Repository Settings,在左侧找到Remote,输入地址:

    然后点击左上角加号,create本地仓库地址,

    若要配合eclipse,需要注意的是,工作空间最好不要和git仓库在同级目录,而应该eclipse的工作空间包含git仓库,结构应该如下:

----workspace

---------git

--------------myproject

    说明:这种方式比较适合git上导出的项目,如果是自己的项目需要在eclipse中建立后手动转到git文件夹下,然后在eclipse中重新导入。为什么要这么费劲呢,那是因为eclipse的工作空间下会自动生成.metadata文件夹,这是个无底洞,项目越多文件越大,而且还不是必要的文件。

    然后来试一下提交和更新,在git仓库下建立一个文件README.md,使用记事本打开,写上几个字,然后打开github客户端,这时会在中间部分发现如下界面,

在最下方输入提交信息,然后点击Commit to master ,这时是还没有提交到github远程仓库的,在右上角找到Sync,

点击即可更新到远程仓库。这里还有一种方式是在左侧找到仓库名称右键选择Shell,在这里输入如下命令

git push

    git更新很简单,在打开客户端的时候自动会更新:

        本地无变化,远程有更新,直接覆盖。

        本地变化,远程无变化,不处理。

        本地变化,远程变化,提示冲突&不处理。

    说下冲突吧,当冲突时出现如下界面:

    这时候直接点ok不用管,先把自己的提交,提交完成后,再点击Sync,出现如下界面:

    这个是说要先解决冲突,才能提交。关掉它发现中间部分提示有一个change,点开他,发现git把最新版本和我本地的合并了:

    直接点击Commit,在unsynced下发现多出一个条目:

    这时候可以点击Sync了,点击一下,同步成功!

    找到原文件发现里面加了好多东西,

 @@ -1,12 +1,7 @@
# base
基本工具
提供诸如缓存、string、date等工具</br>
<<<<<<< HEAD
闲杂项目,学习过程项目,
若有不对,请谅解
感谢您的支持!
=======
闲杂项目,学习过程项目,</br>
若有不对,请谅解</br>
感谢您的支持!</br>
如有问题可以联系我
>>>>>>> origin/master

    手动把自己的和远程合并一下,再执行提交步骤并更新到远程,至此完成了冲突的解决。

    对于本文如果您有更好的方法,请回复我,或给我发邮件javascc@126.com,感谢您的支持!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏玄魂工作室

CTF实战2 Web应用构成

https://www.bilibili.com/video/av22207039/

1082
来自专栏QQ空间开发团队的专栏

TPatch动态补丁系统(iOS)

对于每一个开发,从写Hello World开始,到使用各种语言,可能都会遇到各种BUG。有的BUG能快速解决,比如Web侧的,发个JS或者Html即可。但是在终...

2.5K1
来自专栏猿天地

hbuilder 开发5+ APP采坑记录

开发一款APP产品需要在安卓和苹果2大平台发布,同时开发团队也需要有安卓和IOS。 HTML5 Plus移动App,简称5+App,是一种基于HTML、JS、C...

6799
来自专栏腾讯Bugly的专栏

《移动端本地 H5 秒开方案探索与实现》

对 APP 里的一些使用 H5 实现的功能模块,一般体验都比原生差,那么怎么提高h5加载速度?优化 h5 体验?

1.3K13
来自专栏建站达人秀

如何搭建 Firekylin 博客

FireKylin 是基于国内先进的 Node.js 框架 ThinkJS 2.0 开发的通用博客系统,是由奇虎360公司Web前端工程师组成的专业团队 75T...

3262
来自专栏沈唁志

解决Windows环境下Git Bash客户端无法识别Composer命令的问题

1454
来自专栏Python中文社区

构建一个pip安装的车辆路径显示的Python包

專 欄 ❈treelake,Python中文社区专栏作者。 简书: http://www.jianshu.com/u/66f24f2c0f36 ❈ 最近有一些...

23910
来自专栏张戈的专栏

BaiduSubmit:度娘WordPress结构化数据插件(改进版)

张戈博客曾多次提到一个会造成百度不收录问题的原因:如果网站存在实时推送机制(比如安装了百度官方推出的 BaiduSubmit 插件),那么发布文章后,在百度收录...

3465
来自专栏Spark学习技巧

HBase最佳实践-读性能优化策略

就职于网易杭州研究院后台技术中心数据库技术组,从事HBase开发、运维,对HBase相关技术有浓厚的兴趣。

3904
来自专栏即时通讯技术

IM消息送达保证机制实现(二):保证离线消息的可靠投递1、前言 2、学习交流3、IM消息送达保证系列文章4、消息接收方不在线时的典型消息发送流程5、典型离线消息表的设计以及拉取离线消息的过程6、上述流

本文的上篇《IM消息送达保证机制实现(一):保证在线实时消息的可靠投递》中,我们讨论了在线实时消息的投递可以通过应用层的确认、发送方的超时重传、接收方的去重等手...

1312

扫码关注云+社区

领取腾讯云代金券