• GitHub版本控制入门(新手学习)


    要使用GitHub功能,首先要登陆官方网站https://github.com,注册GitHub账号。

     

     

    在浏览器中的操作

    新建一个仓库。一个项目一旦被Git控制了版本历史,在GitHub上就有另外一个名字叫仓库

     

    注意:GitHub上的每一个项目的名字都是在自己的用户名之下的,所以不用担心会跟其他人的项目重名,只要自己的用户名之下没有该项目即可。添加项目描述,private功能是收费的。点击创建按钮,项目就创建成功了。此时github页面跳转到https://github.com/用户名/项目名,即新创建的项目的主页。

     Commit动词表示做一个版本,名词则表示版本的意思。

     

     

     

     

     

     

    很多时候代码是要在本地写的,因为本地有自己最喜欢的编辑器,有编译和调试的环境,操作起来比较高效,在本地可以通过安装Git,通过命令行操作,相对复杂,对于新手来说,可以使用图形化的客户端进行本地的相关操作。根据对应的系统去下载对应的客户端。这里以Windows客户端为例。

     

     

    如果官网下载安装的速度太慢,可以参考网上的其他离线版下载安装。安装完成后登陆自己的GitHub账号,并按照向导做一些简单的配置即可。

    在客户端的操作:

    客户端添加项目

    点击“+”,有3种方式:

     

     

    Add:添加本地已经存在的项目,输入路径即可;

    Create:新建一个项目,输入项目名称,选择一个保存路径即可;

    Clone:把远程GitHub网站上的项目克隆到本地

    以Create方式为例:

    在本地编辑器中打开新建的项目,新建文件hello

     

     

     

    返回GitHub客户端,会看到如下的变化

     

     

     

     

    撤销做过的版本,点击版本列表中的版本,然后在设置中选择“Undo most recent commit”

     

     

    由于是在本地新建的项目,在GitHub网站上没有该项目,所有此时是“publish”功能,当把项目发布到网站上后,此处的按钮就会变成Sync(同步)。

    项目同步成功后,登录GitHub网站,可以看到图示的项目

     

     

    分支

    分支在底层的实现原理

     

     

     

     

     

     

     

     

    一般开新分支的目的是:有新的想法需要开发新的代码,但是又不想污染到master分支上的很重要的代码。原则上是master分支上代码都应该是随时可以放到服务器上去当产品跑的代码,测试性的代码不能放在master分支上。

    在客户端新建和删除分支

     

     

     

    新创建的分支会自动作为当前分支

     

     

     

     

     

     

     

    在master分支和new分支之间切换时会发现,本地工作目录中的文件也会发生变化,把master分支作为当前分支时,工作目录中没有good文件,切换到new分支时,工作目录中又出现了good文件。

     

     

    把新分支发布到GitHub网站上之后,查看网站上的分支,结果如下。

     

     

     

    网站上新建和删除分支

     

     

     

     

    合并分支

     

     

     

     

     

     

     

     

     

     

    本地仓库的master分支和远端网站上的仓库的master分支,虽然名字相同,但是处在不同的仓库之中(一个在本地的仓库,一个在远端的仓库),可以存在并行开发的情况。

     

    在本地的master分支上做了新的commit

     

     

     

    在网站上的master分支上也做了一个commit,此时客户端和远端还没有同步。

     

     

     

    客户端和远端的修改互不影响

     

     

     

     

    代码冲突

     

     

     

     

    <<<<<<< HEAD

    =======

    >>>>>>> origin/master

    称为冲突标识符。

    <<<<<<<HEAD 是代表当前分支,===== 就是两个冲突代码块的分界线了,>>>>>>> origin/master代表另外一个分支,此处指远端的master分支

    此处冲突的本质可以理解为时程序员的意见不统一造成的,不是Git能直接解决的问题,需要开发者之间商量,最后达成一致。解决冲突就是把上面的三行“冲突标示符”都删掉,然后修改代码,之后回到客户端,做新版本,重新合并分支。 

     

     

     

     

     

     

    更多详细内容请参考happypeter老师的http://gitbeijing.com/讲解。

  • 相关阅读:
    使用helm管理复杂kubernetes应用
    helm repository 相关
    PSQLException: An I/O error occurred while sending to the backend.
    使用helm进行kubernetes包管理
    Slave作为其它Slave的Master时使用
    ext3是对ext2文件系统的一个扩展高性能日志文件系统
    ready是先执行的,load后执行,DOM文档的加载步骤
    jQuery上定义插件并重设插件构造函数
    在PHP与HTML混合输入的页面或者模板中就需要对PHP代码进行闭合
    decode 函数将字符串从某种编码转为 unicode 字符
  • 原文地址:https://www.cnblogs.com/happypayne/p/6297201.html
Copyright © 2020-2023  润新知