zoukankan      html  css  js  c++  java
  • Git与Github的使用学习

    摘要

    本文讲解下Git的使用,包括使用Git上传项目工程到Github,文末有彩蛋哦。

    1.安装Git

    使用apt-get安

    sudo apt-get update
     
    sudo apt-get install git
     

    使用下载安装

    1、安装依赖库:

    sudo apt-get update
     
    sudo apt-get install build-essential libssl-dev libcurl4-gnutls-dev libexpat1-dev gettext unzip
     

    2、下载:

    wget https://github.com/git/git/archive/v1.9.2.zip
     
    -O git.zip
     
    unzip git.zip
     
    cd git-*
     

    3、 安装:

    make prefix=/usr/local all
     
    sudo make prefix=/usr/local install
     

    4、 更新:

    make prefix=/usr/local all
     
    sudo make prefix=/usr/local install
     

    2.使用Git

    1. 创建版本库repository

    在想要上传的工程目录下,初始化该目录:

    git init
     

    2. 将文件提交到仓库,分两步

    $git add filename
    $git commit -m "your log"

    1、git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
    2、全部增加 git add .

    为什么分两步呢?
    请看下图,工作区就是你刚刚git init的文件夹, 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区。

    所以上述提交文件的两步:
    第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
    第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

    3. 分支管理

    Git鼓励大量使用分支,实际上我们在开发一个项目时,如果只用一条分支存放我们所有的开发过程版本与上线版本,显然是管理混乱的,所以正常情况下,master上应该只存放发布上线的版本,而我们的开发过程中的中间版本则是存放在另外一条分支上,当需要发布上线时,再讲其合并到master上。下面是分支管理常用的命令

    //查看分支:
    git branch
    
    //创建分支:
    git branch <name>
    
    //切换分支:
    git checkout <name>
    
    //创建+切换分支:
    git checkout -b <name>
    
    //合并某分支到当前分支:
    git merge <name>
    
    //删除分支:
    git branch -d <name>
    

    当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。

    实际工作时,我们往往是在自己电脑上编写程序,然后上传到远程分支上,所以工作流程如下:

    • 首先,可以试图用git push origin branch-name推送自己的修改;

    • 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

    • 如果合并有冲突,则解决冲突,并在本地提交;

    • 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

    git fetch和git pull的区别

    1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge
    2. git pull:相当于是从远程获取最新版本并merge到本地

    3.使用Github

    作为全球最大的同性交友网站的Github,实际是为大家提供了一个开源库管理的平台,其实就等于提供平台存放上节所述的远程分支,只不过这个分支不仅项目组的人可以看到,全世界的人都可以看到。所以也很方便用于大家共同开发项目。那么怎么使用Github呢?首先,当然是先去Github网站注册。接下来本地操作如下

    1. 配置Github的个人信息

    git config --global user.name "Your Name" #名字随意
     
    git config --global user.email "youremail@gmail.com"
     

    2. 查看配置信息和编辑:

    //查看:
     
    git config --list
     
    //编辑配置信息:
     
    sudo vim ~/.gitconfig
     
    //可以修改的地方
     
    [user]
     
           name = Your Name
     
           email = youremail@domain.com
     

    3.创建公钥:

    ssh-keygen -C 'you email address@gmail.com' -t rsa   //会在 用户目录 ~/.ssh/ 下建立相应的密钥文件
     
    //上传公钥
     
    在 github.com 的界面中 选择右上角的 Account Settings,然后选择 SSH Public Keys ,选择新加。
     
    Title 可以随便命名,Key 的内容拷贝自 ~/.ssh/id_rsa.pub 中的内容,完成后,可以再使用
     
    //测试:
     
    ssh -v git@github.com
     
    会返回提示信息:
     
    Hi rong0o! You've successfully authenticated, but GitHub does not provide shell access.
     

    4.提交到Github:

    使用下面步骤前,应先按第二节所述建好本地库,并将文件提交到本地库 。同时在github上新建个仓库,比如:test.git

    //建立远程分支:第一次需要做
     
    git remote add origin https://github.com/rong0o/test.git
     
    #https://github.com/wpeace1212/BlogSource.git 为你的工程url
     
    //查看远程分支:
     
    git remote -v
     
    //提交你的代码:第二次提交时只要执行这条语句:
     
    git push origin master
     

    4.利用Github展示demo

    作为一名前端攻城狮,我们学习的过程中需要写一些demo练练手,那么,当我们对我们的demo比较满意,想展示给别人看,确苦于不知如何搭建服务器的时候,怎么办呢?别急,我们有Github!接下来讲解如何用Github展示我们的demo。

    1.在Github上传好代码,具体操作参考上一节

    2.在Github新建gh-pages分支,便捷操作如下图,输入gh-pages然后回车即可

    3.找到setting,在里面找到Github Pages选项,选中gh-pages branch,然后save


    4.快去看看你的作品吧

    通过 http://github名.github.io/仓库名/,就可以访问你的demo了,但是,注意了:这样访问的话,你的demo根目录下必须有index.html作为入口文件,如果你只想展示某个单独的页面的话,那就在URL后面指定文件名,如下[http://github名.github.io/仓库名/文件名]

    5.觉得很有用的一张图

  • 相关阅读:
    c++指向数组的指针,数组指针
    c#和c++互操作(平台调用相关)
    LA和TA
    RSCP RSRP RSRQ
    HARQ(Hybrid Automatic Repeat Request ) 混合自动重传请求
    传输层的几个部分的ALCAP、SSCOP、MTP3-B、SCCP、SAAL、SCCF、STC、IP、UDP、GTPU
    SSCOP Service Specific Connection Oriented Protocol 业务特定面向连接协议
    SSCF-UNI
    PCRF、PCEF、PCC(转帖)
    LTE中的几个概念——LTE,SAE,EPC,EPS
  • 原文地址:https://www.cnblogs.com/hedengyao/p/6708506.html
Copyright © 2011-2022 走看看