HIT2019春软件构造->Git&Github学习笔记

  因为软件构造课程须要,学习使用git,如下做为学习笔记。html

 

  

1、Git初始化及仓库建立和操做git

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

 命令bash

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

              git configssh

 

  系统用户级别:登陆当前操做系统的用户范围学习

              git config –global测试

 

    ls -lA|less   查看文件内容fetch

 

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

  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 [本地库中历史版本] [文件名]

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

  注:不带文件名能够比较多个文件

 

2、分支

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

  优势:同时并行推动多个功能开发,提升开发效率;各个分支在开发过程之中,若是某一个分支开发失败,不会对其余分支有任何影响,失败的分支删除后从新开始便可。

  git branch -v 查看全部分支

  git branch 分支名 新建分支

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

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

 

 

 

1.合并分支

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

 

将hot_fix合并至master

 

 

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

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

 

3、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.远程库的修改可拉取至本地

 

 

4、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

 

5、github pages 搭建网站

 

我的站点

访问

https://用户名.github.io

 

搭建步骤

1.建立我的站点->新建仓库(注:仓库名必须是【用户名.github.io】)

2.在仓库下新建index.html的文件便可

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

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

 

Project Pages 项目站点

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

 

附:邀请团队成员

相关文章
相关标签/搜索