首页 > 技术文章 > 认识GitHub和Git

solaris-wwf 2019-11-18 20:49 原文

使用Github
 
    1.什么是Github
        借助github托管项目代码,Github是全球最大的社交编程及代码托管网站(http://github.com/)
        Github可以托管各种git库,并提供一个web界面(用户名.github.io/仓库名)
        Github和Git是什么关系
            Git是版本控制软件
            Github是项目代码托管的平台,借助git来管理项目代码
            
    2.基本概念
        仓库(Repository)
            仓库的意思,即你的项目,你想在GitHub上开源一个项目,那就必须要新建一个Repository,如果你开源的项目多了,你就拥有了多个Repositories,私有仓库只能自己或者指定的朋友才有权限操作(收费),新注册的用户必须验证邮箱后才可以使用
        收藏(Star)
            仓库主页star按钮,意思为收藏项目的人数,在GitHub上如果你有一个项目获得100个star都算很不容易了!
        复制克隆项目(Fork)
            这个不好翻译,如果实在要翻译我把它翻译成分叉,什么意思呢?你开源了一个项目,别人想在你这个项目的基础上做些改进,然后应用到自己的项目中,这个时候他就可以Fork你的项目(打开项目这样点击右上角的fork按钮即可),然后他的GitHub主页上就多了一个项目,只不过这个项目是基于你的项目基础(本质上是在原有项目的基础上新建了一个分支),他就可以随心所欲的去改进,但是丝毫不会影响原有项目的代码与结构。
        发起请求(Pull Request)
            发起请求,这个其实是基于Fork的,还是上面那个例子,如果别人在你基础上做了改进,后来觉得改进的很不错,应该要把这些改进让更多的人收益,于是就像把自己的改进合并到原有项目里,这个时候他就可以发起一个Pull Request(简称PR),原有项目创建人,也就是你,就可以收到这个请求,这个时候你会仔细review它的代码,并且测试觉得OK了,就会接受他的PR,这个时候他做的改进原有项目就会拥有了,
        关注(Watch)
            观察,如果你Watch了某个项目,那么以后只要这个项目有任何更新,你都会第一时间收到关于这个项目的通知提醒。
        事务卡片(Issue)
            发现代码BG,但是目前没有成型代码,需要讨论时用;
            问题的意思,举个例子,就是你开源了一个项目,别人发现你的项目中有BUG,或者哪些地方做的不够好,他就可以给你提个Issue,即问题,提的问题多了,也就是Issues,然后你看到了这些问题就可以去逐个修复,修复OK了就可以一个个的Close掉。
        Github主页
            账号创建成功或点击网址导航栏github图标都可进入github主页:该页左侧主要显示用户动态以及关注用户或关注仓库的动态,右侧显示所有的git库
        仓库主页
            仓库主页主要显示项目的信息,如:项目代码,版本,收藏/关注/fork情况等
        个人主页
            个人信息:头像,个人简介,关注我的人,我关注的人,我关注的git库,我的开源项目,我贡献的开源项目等信息。
Git
    Git Repository (Git仓库)
        最终确定的文件保存到仓库,成为一个新的版本,并且对他人可见
    暂存区
        暂存已经修改的文件最后统一提交到git仓库中
    工作区(Working Directory)
        添加、编辑、修改文件等动作
        git status:查看当前的状况,文件在工作区还是在暂存区
        git add:git add hello.php 将工作区文件提交到暂存区
        git commit -m "提交描述":提交到Git仓库里
    Git基础设置
        Git安装完成之后,需要进行一些基本信息设置
        1.设置用户名
            git config --global user.name 'itcast'
        2.设置用户名邮箱
            git config --global user.email 'itcast@itcast.com'
        3.查看设置
            git config --list
        注意:git config --global参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某人仓库指定不同的用户名和邮箱
    创建一个新的Git本地仓库
        pwd:显示当前位置 
        ls:linux命令,显示仓库中的文件
        vi:vi test.php 修改仓库文件 进入后点击i,进入type模式,退出时先按ESC ,在输入:wq  保存
        1.mkdir test 在当前本地文件创建一个test的文件夹
        2.在文件内初始化git(创建git仓库)
            cd test //进入test文件夹
            git init  //初始化仓库,生成一个隐藏文件夹.git
        3.向仓库添加文件
            touch test.php//在当前文件夹下创建一个test.php
            git add test.php //将工作区文件提交到暂存区,git add .将所有文件都提交到暂存区
            git commit -m 'add test.php'  //将文件从暂存区添加到Git仓库,并且添加描述add test.php
        4.修改仓库文件
            1.vi:vi test.php 修改仓库文件 进入后点击i,进入type模式,退出时先按ESC ,在输入:wq  保存,然后查看一下状态,git status,显示被修改,
            2.然后依次将工作区提交到暂存区git add test.php,
            3.再次将文件从暂存区提交到Git仓库,git commit -m '第一次通过git修改文件并提交到仓库'
        5.删除仓库文件
            1.rm -rf test.php 删除工作目录中(暂存区)的文件(本地文件) 
            2.从Git中删除文件
                git rm test.php
            3.提交操作
                git commit -m '提交描述'
    Git管理远程仓库
        目的:备份,实现代码共享集中化管理
        Git克隆操作
            目的:将远程仓库(github对应的项目)复制到本地
            git clone 仓库地址 https://github.com/solaris-wwf/wonder.git
        git push :将本地仓库同步到git远程仓库中
    解决git push错误
        the requested RUL returned error:403 Forbidden while a ccessing
        答案:私有项目,没有权限,输入用户名密码,或者远程地址采用这种类型 vi.git/config
        #将
            [remote "origin"] url=https://github.com/用户名/仓库名/git
        修改为
            [remote "origin"] url=https://用户名:密码@github.com/用户名/仓库名/git
    GIthub Pages 搭建网站
        个人站点:https://用户名.github.io
        搭建步奏
            1.创建个人站点 -》新建仓库(注:仓库名必须是【用户名.github.io】)
            2.在仓库下新建index.html的文件即可
            3.github pages仅支持静态网页
            4.仓库里面只能是.html文件
        Project Pages 项目站点
            https://用户名.github.io/仓库名
            1.进入项目主页,点击settings
            2.在settings页面,点击【choose a theme】,来自动生成主题页面
            3.选择主题

推荐阅读