zoukankan      html  css  js  c++  java
  • HIT2019春软件构造->Git&Github学习笔记

      由于软件构造课程需要,学习使用git,以下作为学习笔记。

      

    一、Git初始化及仓库创建和操作

     1.基本信息设置(设置签名)

     命令

           项目级别/仓库级别:仅在当前本地库范围内有效

                  git config

      系统用户级别:登录当前操作系统的用户范围

                  git config –global

        ls -lA|less   查看文件内容

      级别优先级:就近原则->项目级别优先于系统用户级别

      1.设置用户名

        git config –global user.name ‘hiter1170301015’

      2.设置用户邮箱

        git config –global user.email ‘1411021410@qq.com’

      3.查看设置

        git config –list

    注:该设置在GitHub仓库主页显示谁提交了该文件

    辨析:设置的签名和登录远程库(代码托管中心)的账号和密码没有任何关系

    2.初始化一个新的Git库

    1. 创建文件夹

          mkdir test

    1. 在文件夹内初始化git(创建git仓库)

          cd test

          git init

      注:.git目录中存放的是本地库相关的子目录和文件,不要删除,也不可随意修改

     

     

    3.向仓库添加文件

        touch xx(文件) 创建新文件

        git status 查看文件状态

        git add hello.c 添加至暂存区

        git status

        git commit -m ‘提交描述’ 将文件从暂存区提交到仓库

     

        git rm –cached hello.c  将文件从暂存区撤回至工作区

     

    4.修改文件

      nano hello.c

      重复向仓库添加文件

     

    5.删除仓库文件

      1.)删除文件

        rm -rf hello.c

      2.)从git中删除文件

        git rm hello.c

      3.)提交操作

      注:git rm -f hello.c 同时删除工作区和暂存区文件

    6.永久删除文件后找回

     

     

    找回:回退到某一个记录

     

    7.添加至暂存区的删除文件找回

            git reset –hard HEAD

     

    注:删除后可找回,需要文件存在时的状态提交至本地库

    git log

     

    git log –pretty=oneline

     

    git log --oneline

     

    git reflog  显示到某个版本需要几步 HEAD@{移动到当前版本需要多少步}

     

    多屏显示控制方式:

            空格向下翻页

            b向上翻页

            q退出

    8.前进后退(使用指针head)

      基于索引值操作 git reset –hard [局部索引值]

     

      使用^符号:只能后退

              git reset –hard HEAD^ 回退一步

        git reset –hard HEAD^^ 回退两步

        git reset –hard HEAD^^^ 回退三步

     

      使用~符号

            git reset –hard HEAD~3 回退三步

     

    注:reset命令的三个参数对比

            --soft 仅仅在本地库移动HEAD指针

     

     

     

            --mixed 在本地库移动HEAD指针,重置暂存区

     

            --hard 在本地库移动HEAD指针,重置暂存区和工作区

    比较文件差异 git diff [文件名]

           将工作区中的文件和暂存区中进行比较

    结果

     

      git diff [本地库中历史版本] [文件名]

              将工作区中文件和本地库历史记录比较

      注:不带文件名可以比较多个文件

    二、分支

      在版本控制过程中,使用多条线同时推进多个任务

      优点:同时并行推进多个功能开发,提高开发效率;各个分支在开发过程之中,如果某一个分支开发失败,不会对其他分支有任何影响,失败的分支删除后重新开始即可。

      git branch -v 查看所有分支

      git branch 分支名 新建分支

      git checkout 分支名 切换到某一分支

      在不同分支上进行修改 修改后哈希值发生改变

     

     

    1.合并分支

            切换到接受修改的分支上(被合并,增加新内容),执行merge命令

    将hot_fix合并至master

     

    2.合并冲突 修改不同分支同一文件的同一位置

            删除特殊符号,修改文件内容后,即可进行合并。

    三、git远程仓库管理

    新建别名 git remote add 别名 原名(远程库原地址)

     

    本地库推送至远程库 git push 别名 分支名

    1.Git克隆操作

      目的:将远程仓库(GitHub对应的项目)复制到本地

      git clone 仓库地址

     

      效果:完整的把远程库下载到本地;创建origin远程地址别名;初始化本地库

    2.远程库的拉取

       pull=fetch+merge

        1)git fetch [远程库地址别名] [远程分支名]

        2)git merge [远程库地址别名/远程分支名]

      两步骤等同于

        git pull [远程库地址别名] [远程分支名]

     

    3.协同开发时的冲突解决

      两人同时修改同一位置,先提交的人成功。

      后提交的人需要先拉取,再推送。(不是基于GitHub的最新版)

      若进入冲突状态,进入“分支冲突”解决。

     

       

    4.跨团队协作

    1. )其他用户点击

      此时其他用户回到他的主页

              当前仓库所有人是其他用户,但是是从我们的团队fork来的

    2.)本地bash 进行clone 修改后推送到远程

    3.)其他用户

     

    发送具体信息

    4. )我们的团队

     

    查看消息内容,可进行对话,代码审核,确定没有问题。

     

    填写本次操作的日志信息

    5.远程库的修改可拉取至本地

    四、SSH免密登录

      1.进入当前用户的家目录 $ cd ~

      2.删除.ssh 目录$ rm -rvf .ssh

      3.运行命令生成.ssh 密钥目录 $ ssh-keygen -t rsa -C 用户邮箱

      4.进入.ssh 目录查看文件列表 $ cd .ssh $ ls -lF   

         查看id_rsa.pub 文件内容  $ cat id_rsa.pub  

      5.复制id_rsa.pub 文件内容,登录GitHub,点击用户头像→Settings→SSH and GPG Keys -> New SSH Key  输入复制的密钥信息

      6.回到Git bash 创建远程地址别名 $ git remote add origin_ssh ssh地址

      7.推送文件进行测试

     

    附:解决git push错误  The requested ULR returned error:403 Forbidden while accessing

       私有项目,没有权限,输入用户名密码,或者远程地址采用这种类型

       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的文件即可

    注:1.github pages 仅支持静态网页

    2.仓库里面仅能有.html文件

    Project Pages 项目站点

    https://用户名.github.io/仓库名

     

    附:邀请团队成员

     

     

    To see I can not see, to know I do not know.
  • 相关阅读:
    病毒分裂(分治)
    【CQYZ-vijos】P1333 舞伴的搭配(贪心算法)
    算法系列之图--拓扑排序
    算法系列之图--DFS
    算法系列之图--BFS
    python读取txt里的json文件,存到excel,例子2
    python读取txt里的json文件,存到excel,例子1
    python读取excel数据做分类统计
    python datetime中timedelta的用法
    bootstrap用法小计
  • 原文地址:https://www.cnblogs.com/aluomengmengda/p/10445455.html
Copyright © 2011-2022 走看看