美文网首页
举例简单介绍GitHub进行代码版本控制及分支的使用

举例简单介绍GitHub进行代码版本控制及分支的使用

作者: DecadentOrMagic | 来源:发表于2016-06-27 23:43 被阅读1880次

    一、新建远程代码库并向代码库里面添加工程

    创建代码库.png
    编辑代码库信息.png

    1、克隆代码库到本地

    首先,在GitHub上创建一个代码库,为代码库起一个名字,代码库类型设置为公有的(私有代码库需要花钱,7刀一个月),然后点击创建代码库。
    拷贝链接,


    生成代码库.png

    打开终端,在终端输入:

    $ cd Desktop/                                               //cd <路径>,映射到本地目录
    $ git clone https://github.com/DecadentOrMagic/test.git     //git clone <地址>,拷贝内容到本地
    
    克隆到本地.png

    点击Enter,


    克隆到本地成功.png

    当终端如上图所示,说明我们已经把代码库克隆到了本地。

    2、更新本地仓库

    test.png
    复制HelloWorld工程到test目录.png

    在test目录中,创建新的工程HelloWorld或者复制现成的HelloWorld工程到test目录,在终端输入:

    $ cd /Users/xueyao/Desktop/test     // 映射到test文件夹下(cd 然后把test文件夹拖到终端就行了)
    $ git add .                         // git add . 用于添加文件到本地代码库缓存
    $ git commit -m"第一次上传代码"       // git commit用于提交缓存中的修改
    
    终端输入.png
    修改完本地代码库.png

    终端如上图所示,说明本地仓库更新完成。

    3、更新远程仓库

    使用

    $ git push         // git push 命令用于推送本地代码库到远程服务器代码库
    
    gitpush.png
    上传GitHub成功.png

    当终端如上图所示,表示远程服务器代码库修改完毕。


    远程仓库更新后的界面.png
    当我们刷新一下GitHub界面,我们会发现,GitHub上已经显示了我们的这次更新。

    二、使用分支管理代码

    1、创建分支

    创建分支.png

    创建分支时,在终端输入

    $ git branch testing     // 创建分支时,使用git branch<分支名>
    $ git branch             // 查看分支情况
    

    输入完这两行命令,按Enter后,*号的分支是当前分支,master是git默认创建的分支,testing是我们刚刚创建的分支。

    2、切换分支

    切换分支.png

    在终端输入:

    $ git checkout testing     // git checkout <分支名>,切换分支
    

    当终端如上图所示,说明已经切换到了testing分支。


    验证分支切换.png

    终端输入:

    $ git branch
    

    我们可以发现,分支确实已经切换到了testing。

    3、合并分支

    我们现在终端输入

    $ git checkout master
    

    把分支切回到master,


    输入HelloWorld.png

    打开工程HelloWorld,在ViewController.m的viewDidLoad方法里输出Hello World,然后在终端输入

    $ git add .
    $ git commit -m"第一次修改master分支"
    

    更新本地代码库。


    第一次修改master分支.png

    如上图所示,说明master分支的本地代码库已经更新完毕。
    终端输入

    $ git checkout testing
    

    切换到testing分支,
    打开工程HelloWorld,我们会发现工程变成了一个空白工程。


    输出世界你好.png

    在ViewController.m的viewDidLoad方法的同一个位置输出世界你好。
    注意(错误命令):


    警告.png
    在终端输入
    $ git checkout master
    

    我们发现终端给出一个警告,这是因为我们在修改完testing分支之后,没有更新本地代码库就切换分支了,这是不允许的。要记住,我们每次修改完分支之后,一定要及时更新本地代码库才能切换分支。
    所以,正确的命令应该是


    第一次修改testing分支.png
    $ git add .
    $ git commit -m"第一次修改testing分支"
    $ git checkout master
    

    我们看到,这样写就可以再次切换到master分支了。
    在两个分支的工作结束后,我们就要把testing分支合并到master上,合并分支用到了git merge命令。
    在终端输入

    $ git merge testing
    
    产生冲突.png

    终端输出如上图所示,这是因为我们两个分支产生了冲突。


    工程冲突.png

    再次打开HelloWorld这个工程,<<<<<<< HEAD ... >>>>>>> 表示其中的内容有冲突,此时就需要我们手工解决,究竟想保留哪部分代码,就看你自己的需求了。如果你想把两个分支的代码全部保留,那就把<<<<<<< HEAD / ======= / >>>>>>> testing 这些都去掉,然后再次在终端进行本地代码库更新。终端输入

    $ git add .
    $ git commit -m"第一次合并分支"
    
    合并分支后更新本地库.png

    终端输出如上图所示,说明本地代码库已经更新,下一步就可以push到远程仓库了。
    在终端输入

    $ git push
    
    远程仓库更新

    终端如上图所示,说明我们已经更新了远程仓库。
    到GitHub上查看一下,


    GitHub代码库更新

    可以看到,GitHub上已经更行完成。

    4.删除分支

    当我们在testing分支上的工作结束,我们就可以把这个分支删除了,但是要注意,要删除的分支不能是当前所在的分支。
    因为我们现在处在master分支上,我们直接在终端输入

    $ git branch -d testing
    
    删除分支命令

    如上图所示,testing分支已经删除(如果不确定,可以输入 $ git branch 查看一下分支状态)。
    如果是这种情况,我们处于testing分支,而且编辑了代码,此时要删除testing分支该怎么操作呢?
    首先,我们要在终端输入 $ git add . / $ git commit -m"" 更新本地代码库,然后切换到master分支,而删除的时候,我们如果使用了 $ git branch -d testing 命令,终端会输出信息提醒我们,删除的时候要用

    $ git branch -D testing
    

    来进行删除,其中 -D表示强制删除。

    三、如何在日常工作中使用GitHub进行管理代码

    关于这个问题,请参见 https://segmentfault.com/q/1010000000181403 这个帖子二楼的回复,再结合分支的使用,基本就能解决平时的代码管理需求了。

    写到这儿也差不多了,如果文中出现什么错误或遗漏,还请各位不吝赐教,我会第一时间进行更改。

    相关文章

      网友评论

          本文标题:举例简单介绍GitHub进行代码版本控制及分支的使用

          本文链接:https://www.haomeiwen.com/subject/eoyndttx.html