从零进入github

        作为一个初入编程大殿的人,了解git和github是很有必要的。

       我主要想说明:1.git和github是什么。2.git和github是怎么用的。

       从功能上说,会介绍到:如何备份代码,还原代码,撤销更改,还原更改,多人协作,

       本人初来优快云,欢迎各位多多捧场~话说一直想要达到一文看完,github全懂的境界,欢迎各位多多督导指点~~~~

   一. git和github的介绍。

        简单地说,git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。版本控制,不过是针对代码修改的记录。GitHub则是一个托管各种git库,并提供一个web界面的网站了~。

        在我看来,git的作用在于:

        1.及时保存修改 2.及时挽回错误 3.多人协作 

        github因为使用人群众多,功能简洁,深受人们喜爱。当然,用户可以在上面十分轻易地找到海量的开源代码。一方面是因为github的公开托管是免费的,私人托管则是收费的。另一方面则是社会化编程的原因,大家共同使用代码,维护代码,提高代码质量。

  二.git的安装

       首先,需要访问www.github.com注册github帐号。

       其次,需要客户端有相应的git工具,具体参考http://git-scm.com/downloads。 

  三.git的使用(本地使用篇)

       首先,我可以用git(本地的客户端程序,比如mysysgit等)存储自己目前的代码,并让他在我的电脑中替我管理代码。

       我们可以认为自己使用git在本机中创建了一个代码仓库(repository),然后将自己的代码放进去,就完成了代码存储。因此,操作如下。

      切换到相应的代码目录中,Windows开始调用mysysgit(如图1所示),Linux是终端切换到相应的目录中的。

      接下来的操作我会使用图片讲解,操作环境为Windows下的mysysgit。


         此处完成了建立代码仓库并添加一个文件/文件夹进入代码仓库,如果要添加本目录下所有文件,可以使用git add . 来实现,其他命令还有git ignore,读者可自行查询。


               为了使得添加生效,我们提交了本次修改(这里的提交仅仅是向本地git管理工具 提交,并没有向远程github网站提交代码,此处的管理依旧都是本地管理)

        现在,我们假设开始修改了一段代码,我们可以查询到自己/别人进行了哪些修改,操作如下。


     

    同样,如果我们把resource文件夹扔进了java中,git也可以发现这一变动。



       现在,我们尝试让添加ssssss的更改生效,需要的操作是添加修改后的文件,并把这次的更改提交到代码仓库。



     版本控制的精髓在于代码管理,如果我们后悔了这次修改,当然要考虑撤销这次的修改,恢复到上次修改的时候了,这种操作就叫版本回退。

     版本回退有两种方法,一种是回退到上次,上上次,上n次的版本,另一种则是指定回退到某一个指定的版本。

              

    此时,版本回退生效,如果要回退多个版本,操作如下,上面的HEAD^是回退一次的简便写法而已。


    另外一个回退方法是依据版本号进行回退,此时版本号就依据于修改时所添加的注释而确定了。



      目前我们对于git的使用达到了存储代码,回退代码到上次修改的状态。

      但是这种使用有时候还是不足的,我们需要达到在本次进行的修改中撤销对于某个文件的修改,因为当你返回到上个版本时候,有可能已经放弃了很多文件的修改,而出错的仅仅是一个文件而已。这个时候我们要用到git checkout 命令。

   

      另一个使用情景在于,我误删了某个文件,而且删除的干干净净,回收站也没有了,这怎么办,两种方案;1.版本回退 2.还原这一个文件而不影响其他修改。显然第二个更优秀一些。为了强化使用git,我们两种都做了实验。

1.版本回退


2.还原某个文件



git的分支使用

     分支的意义在于想要做新方向的探索,又不想影响既定的功能实现和代码结构。因此,建立新的分支,防止本次编码失败,或者,进行新方向的探索。也就是说,分支是在当前的编码路线上,建立新的分叉,探索新的方向。

    现在,我们建立新的分支,并键入一段代码。

    首先,建立分支。

  

    然后,做出更改。


    那么,我们切换回master分支后,由于不同分支之间平行无交集,所以这次更改会不存在。


  同时,切换回branch_1之后,更改会存在。


   下面,我们开始合并分支,合并分支的动机一般在于肯定新分支上的更改是有效的,把它确认合并到主分支上,确定更改是有效的。在一般探索代码的时候,都是在新分支上更改,多人协作也是多个分支上修改,然后合并到master分支上的。


删除分支。


     四. github的使用

      当我们开始使用github时,就已经可以走入多人协作的地步了,首先,我们注册的github帐号终于可以发挥作用了,我们现在需要作的是让本地的git代码仓库上传到github网站中,从而解放本地的限制,可以异地下载代码,修改代码,上传代码,也可以多人下载,多人上传,达到多人协作的要求。

       要上传到github,需要知道本地git仓库和github之间的通信是经过SSH加密的,因此,需要创建SSH_KEY,在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有的话,证明已经有了SSH_KEY,没有的话,需要手动创建SSH_KEY(第一次的话肯定没有的。。。),操作如下。


      查看生成的密钥内容,后面在github中添加的SSH—KEY也是这些内容。


接下来,在github中设置密钥内容如下。


  之后,在本地测试SSH连接是否成功建立。这里需要的密码就是刚刚SSH-KEY生成时的密码。


下面,我们把本地代码仓库上传到github网站中。

首先,在github网站中建立对应的远程仓库。


 点击新建代码仓库后,填写对应的名称和说明。这里的私有代码仓库是收费服务,我们使用公有仓库的话,上传的代码是人人可见的,这也是github声称的社会化编程。有保密需求的使用者应该注意。


建立好代码仓库后,拷贝其远程代码仓库地址,在git本地客户端连接远程仓库,并上传代码。



       以上,完成了代码的上传工作,注意,第一次推送master分支时,加上 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令,所以第一次推送时,应该为git push -u origin master。

     此外,我们可以推送某个分支,可以观察到git push origin master的意思,就是将

master分支推送到仓库中,同理,将其他分支推送到仓库中,只需要git push origin <       分支名>即可。当然,在github上不同分支之间也是互相独立的。


   接下来,将要完成代码的下载工作,这里的下载,可以是自己上传的下载,也可以下载别人的代码,甚至可以完成代码的二次编程。

   首先,代码的下载,在git使用中叫做克隆。

   作为克隆,首先要知道要克隆的代码仓库的网址。


然后,使用git clone 命令,如图。


就完成了在C盘获得forem代码。

如果这个forem项目是个时刻更新的项目,我们想follow它的进度,最好的方法是每次查看的时候,使用git fetch origin命令来时刻follow它的更新进度。

如果我们要远程建立一个分支,可以采用如下的方法。




参考文献:

http://blog.jobbole.com/78960/



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值