github简介:
什么是github:
gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。
github的基本功能:
作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。
如前所述,作为一个分布式的版本控制系统,在Git中并不存在主库这样的概念,每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。
GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这 样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将 代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。
在GitHub进行分支就像在Myspace(或Facebook…)进行交友一样,在社会关系图的节点中不断的连线。
GitHub项目本身自然而然的也在GitHub上进行托管,只不过在一个私有的,公共视图不可见的库中。开源项目可以免费托管,但私有库则并不如此。Chris Wanstrath,GitHub的开发者之一,肯定了通过付费的私有库来在财务上支持免费库的托管这一计划。
是的,我们正是这么计划的。通过与客户的接洽,开发FamSpam,甚至是开发GitHub本身,GitHub的私有库已经被证明了物有所值。任何希望节省时间并希望和团队其它成员一样远离页面频繁转换之苦的人士都会从GitHub中获得他们真正想要的价值。
在GitHub,用户可以十分轻易地找到海量的开源代码
git(分布式版本控制系统)简介:
git是什么:
Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
git特点:
分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
git的功能特性:
1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
实验环境:
rhel7.3 , selinux和iptables均为disabled状态
主机ip: 172.25.254.44
操作步骤:
安装git
git init ##做初始化
git add readme.md ##加入暂存区
git commit -m "add readme.md" ##提交
git status -s ##查看状态
在/root下cat .gitconfig可以查看此时git所连接的github的用户
在/git目录下git log 可以查看github用户以及对该用户所作的操作,git log --pretty=oneline,可以查看信息简单的操作,而git reflog则可以查看带指针HEAD的对文件的所有操作,git reset --hard HEAD^ 可以撤回上一级的操作(比如上一级删除了一个文件,执行这条命令之后,被删除的文件就可以恢复,并且一个^是返回上一级,两个^是返回上两极,若想撤回的级数太大,比如100级,则可以用HEAD~100),git reset --hard 6117482是执行编号为6117482的那条(git relog可以查看编号),若重新在shell中编写了已提交的文件却想反悔,那么git checkout --readme.txt(所修改的文件名),就可以令文件复原
在浏览器访问www.github.com,即github网站,会看到如下页面,直接登录或者注册即可
点击sign uo for GitHub,注册
这里的邮箱要填写真实存在的邮箱,因为登录进去之后要发邮件确认,若没有确认邮件,则说明没有注册成功
第二部要点击free,这是不收费的,然后点击continue
注册之后退出重新进去就出现这个页面,点击start a project,开始创建
起名叫demo,然后点击create repository
点击右上角的人像,点击settings,点击ssh and gpg key ,选择ssk key
出现如下界面
然后在shell环境中,创建公钥和私钥,一路回车
查看公钥,复制到框中
点击add ssh key之后,进入到demo界面,点击SSH
对之前新写的readme.md的操作
git push -u origin master ##上传
当出现如下错误时
***
执行 git remote add origin git@github.com:zzy666666/demo.git
出现fatal: remote origin already exists.
执行git push -u origin master
出现
fatal: 'git@github.com/zzy666666/demo.git' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
解决办法,就是先删除
执行命令git remote remove origin
***
然后重新写,并且重新操作,即执行如下命令(按照github里的步骤来一边)
此时会出现
(因为本次实验出现了一些小问题,若操作正常,是不会出现readme.md文件的)
测试,在github编辑之前的demo,重新建立一个hello.txt文件
提交文件,即点击下面的commit new file
在shell中查看hello.txt文件,生成
在shell中改变之前的README.md文件,然后再上传
然后发现在github中改变