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

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

对于本文如果您有更好的方法,请回复我,或给我发邮件[email protected],感谢您的支持!

时间: 2024-10-19 20:33:53

GitHug备忘的相关文章

RxJava & RxAndroid备忘

"你问我要去向何方,我指着大海的方向" 今天在刷G+的时候看到Dave Smith推荐了一个视频 <Learning RxJava (for Android) by example> 点进去看了一下,原来是位熟悉的"阿三哥",视频封面如下:(没有歧视的意思,不要喷我啊~,为什么感到熟悉?接着往下看) 几乎同时也看到了JetBrains在G+也推荐了篇在Medium上的博文 <RxAndroid And Kotlin (Part 1)> ,然后

工作备忘:cacti&nagios登录密码修改方法

[[email protected]]# mysql -u root -p mysql> use cacti; mysql> select * from user_auth; mysql> update user_auth set password=md5("cactipasswd") where id='1'; 现在cacti登录的新密码就是cactipasswd [[email protected]]# /usr/bin/htpasswd /usr/local/n

备忘-linux文件系统结构

用apache的时候总是要进入/var/www, 用久了开始好奇这些个目录都是派什么用处的,简单整理了一下 /bin 存放二进制命令文件,这个目录下面不允许存在子目录/boot bootloader的静态文件,当然OS的文件也必须在这里/dev 设备文件,MAKEDEV命令可以创建设备/etc 特定主机的配置文件,必须是静态文件,非可执行文件: opt, X11, sgml, xml/home 用户目录 /lib 存放主要的共享库和核心模块/media 可移除媒体的挂载点: floppy, cd

[转]Windows环境下尝试安装并配置PHP PEAR备忘

转自:http://wangye.org/blog/archives/266/ 什么是PEAR 来自百度百科:PEAR 是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写.它是一个PHP扩展及应用的一个代码仓库,简单地说,PEAR之于PHP就像是CPAN(Comprehensive Perl Archive Network)之于Perl. 由此可见PEAR是PHP代码的仓库,在这里可以找到很多有用的代码,避免我们重复写一些功能,

Table view 备忘

Table view 备忘 本篇会以备忘为主,主要是一些基础的代理方法和数据源方法具体的优化好点子会后续跟上. Table view的数据源方法 必须实现的数据源方法 // 返回每一行的cell,可以做缓存处理,同样也可能会造成复用问题. func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { // tableview 和 cell 都是在s

oracle下 启动subversion命令 及 oracle相关服务启动备忘

linux shell下  svnserve - d -r + 目录   例如:svnserve -d -r /svn 启动 svn服务. 访问svn://192.168.0.120/kjcg 测试. 启动oracle: 一.如何启动数据库实例 1.进入到sqlplus启动实例 [[email protected] ~]$ su - oracle --“切换到oracle用户” 2. Password: [[email protected] ~]$ lsnrctl start  --“打开监听”

linux下常用命令备忘

转自:Linux 命令集锦 linux下查看监听端口对应的进程 # lsof -i:9000 # lsof -Pnl +M -i4 如果退格键变成了:"^h". 终端连接unix删除退格键,按住CTL键同时按delete Linux搜索 # find / -name "xxx.conf" 查看linux是32位还是64位的命令 #file /sbin/init #getconf LONG_BIT #getconf -a 在Linux和Windows下都可以用nslo

PHP设计模式之备忘模式

1.Norton Ghost的方便与问题 我们大多数win的用户都用过Norton Ghost,只要将目前系统备份一下生成镜像文件,等系统中毒或崩溃的时候,用Norton Ghost恢复一下就回到备份时候的样子了. 这个可以说就是备忘(Memento)模式的基本原理了,先备份,需要的时候恢复.因此备忘模式是比较好理解的. 但在实际应用中,如何正确的应用备忘模式,是需要注意的. 难道我们在word写文章的时候,先要Ghost备份一下所有的硬盘,一旦文章写错了,需要恢复,就用Ghost覆盖硬盘? 就

Notepad++ 常用快捷键 (备忘)

最近在学习Lua,用Notepad++ 作为编译器. 今早无意间按下 Ctrl+D ,结果就神奇般的复制并粘贴当行了,突然觉得Notepad++ 这东西很神奇. 网上查找了Notepad++的快捷键,尝试 Ctrl+Q 的时候,小有感慨,这丫太神奇了. 现将Notepad++快捷键做简单记录,备忘用. Ctrl+D    复制并粘贴当行 Ctrl+L     删除当前行 Ctrl+T    上下行交换 Ctrl+W   关闭当前文档 Ctrl+Q    注释/取消注释 Ctrl+Tab