• git学习笔记


    1、安装及配置git

    1、到官网下载git安装包:https://git-scm.com/download/win
    在这里插入图片描述2、安装完成后,菜单栏有如下工具
    在这里插入图片描述
    3、配置账户和邮件信息

      $ git config --global user.name "xxx"
      $ git config --global user.email "xxx@megvii.com"
    
    • 1
    • 2

    4、检查配置的账户和邮件

    $ git config user.name
    $ git config user.email
    
    
    • 1
    • 2
    • 3

    2、git使用

    1、创建本地仓库

    1. 新建一个本地文件夹leargit,文件夹不要包含中文
    2. 进入到创建的文件夹,在该路径下,在git bash界面,将该目录初始化成git仓库,执行 git init,初始化后,目录中会自动生成一个.git文件夹
      在这里插入图片描述
      2、在learngit文件加新建一个readme.txt文件
      1.使用git add 将文件添加到暂存区
      2.使用git commit命令,将暂存区的所有内容提交到当前分支
    #工作区,learngit文件夹就是一个工作区
    #版本库:.git文件
    #暂存区:版本库中的index文件叫做暂存区
    #分支:创建仓库后,自动创建master分支,指向master分支的指针叫做HEAD
    
    • 1
    • 2
    • 3
    • 4
    git commit -m "提交说明" #-m 后面引号内的字符串是提交的说明,可以输入任意内容
    '''
    git commit 可以一次提交多个文件,所以可以多次 git add 文件,然后再使用 git commit 一次提交
    '''
    
    • 1
    • 2
    • 3
    • 4

    文件提交步骤:

    3、查看工作状态状态:git status
    在这里插入图片描述
    4、查看提交记录:

    $ git add readme.txt
    $ git commit -m "sssss"
    
    • 1
    • 2

    通过 git log 命令查看历史记录
    在这里插入图片描述

    $ git log     #输出的信息较多,较乱
    $ git log --pretty=oneline    #可以是每次记录单行输出,较直观,可以看到每条记录的 commit id(版本号)
    
    • 1
    • 2

    在这里插入图片描述
    5、版本回退
    git reset命令可以回退版本
    在git中,HEAD表示当前版本,HEAD^表示上一版本,HEAD ^^表示上上版本

    $ git reset --hard HEAD^    #可以回退到上一个版本
    
    • 1

    或者根据提交的版本号进行回退

    $ git reset --hard 1094ac      #Git会根据版本号,去查找
    #可以通过 git reflog去查看每一次命令
    $ git reflog         #根据历史命令,去查找历史commit id版本号
    
    • 1
    • 2
    • 3

    6、管理修改
    第一次修改 --> git add --> 第二次修改 --> git commit
    Git 管理的是修改,第二次修改未git add 所以并未提交

    提交以后可以通过 git diff HEAD -- readme.txt 可以查看工作区和版本库中最新版本的区别
    
    • 1

    7、撤销修改
    1.只是修改了文件,没有gitadd,可以使用git checkout --file丢弃工作区的修改

    git checkout --file
    
    • 1
    2.已经执行了git add将修改添加到了暂存区,可以使用`git reset HEAD file`将暂存区的修改撤销掉,从新放回工作区
    
    • 1
    $ git reset HEAD readme.txt //git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区,HEAD表示最新版本
    
    • 1

    3.再到工作区丢弃修改

    $ git checkout -- readme.txt //丢弃工作区的修改。
    
    • 1

    8、删除文件
    1.从版本库删除文件,先git rm ,然后再git commit

    $ git rm test.txt
    $ git commit --m "remove test.txt"
    
    • 1
    • 2
    2.误删文件,若版本库中还有,可以轻松的将误删的文件恢复到最新版本:
    
    • 1
    $ git checkout -- test.txt #用版本库的版本替换工作区的版本
    
    • 1

    3、远程仓库

    1、由于本地仓库和GitHub通过ssh加密创数,所以需要在本地生成sshkey

     $  ssh-keygen -t rsa -C "xxx@megvii.com"  //邮箱名称
     #ssh-keygen之前不能有空格
    
    • 1
    • 2

    执行完毕后,在C:\Users\Administrator\生成.ssh文件夹,里面有 id_rsa 和 id_rsa.pub 这两个文件
    在这里插入图片描述
    2、访问github,在settings->ssh and gpg keys页面,新建sshkey,将id_rsa.pub 中的内容复制到Key文本框内
    在这里插入图片描述
    3、登录GitHub,再右上角找到“create a new repo”按钮,创建一个新仓库
    在GitHub上的这个learngit仓库还是空的,可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。
    4、 在本地仓库执行以下命令

    git remote add origin git@------ //origin 后面接的是远程仓库地址
    
    • 1

    5、远程仓库使用

    $ git remote #查看远程仓库信息
    $ git remote -v #查看远程仓库详细信息
    $ git push -u origin master   # 把本地库内容推到远程,用git push命令,实际上把当前分支master推送到远程。
    只要本地做了提交,就可以使用命令:
    $ git push origin master       将本地的最新修改,推送到GitHub。
    远程克隆:
    $ git clone      git支持多种协议,包括https,但是ssh协议最快
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    4、分支管理

    在git中默认有一条master分支,在实际应用可以创建其他分支
    1、创建分支

    $ git branch dev #创建开发分支
    $ git checkout dev #切换到dev分支
    $ git checkout -b dev #以上两条命令的综合,即创建dev分支,并切换到dev分支上
    
    
    • 1
    • 2
    • 3
    • 4

    2、查看分支

    git branch  #查看所有分支,当前分支前面会有一个*号
    
    • 1

    在这里插入图片描述
    3、合并分支
    git merge命令合并指定分支到当前分支

    git checkout master #切换到master分支 
    git merge dev #在master分支执行merge命令,将dev分支的修改合并到master
    
    • 1
    • 2

    4、删除分支

    git branch -d dev
    
    • 1

    5、解决冲突
    当两个分支修改了同一个地方,在合并分支的时候就会报错
    在这里插入图片描述
    此时查看被修改的文件内容,git会自动将冲突信息写入到文件内
    在这里插入图片描述
    修改master分支的文件后重新commit

    6、分支合并,禁用Fast forward模式
    分支合并时,git一般使用Fast forward模式,这种模式下,删除分支,会丢掉分支信息,可以使用-no-ff禁用该模式

    git merge --no-ff -m "禁用ff" dev
    
    • 1

    7、临时分支
    日常工作中,dev分支的开发任务还未完成,临时来了一个bug需要开分支,此时去新建分支就会报错,提示当前分支的工作还未提交;
    git提供了stash功能,可以将工作现场隐藏

    #git stash
    #git stash list 查看隐藏的工作区记录
    #git stash apply 恢复被隐藏的工作区
    #git stash drop  删除隐藏的工作区记录
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    通达信下单接口有哪些?如何通过程序语言来实现
    qmt量化交易策略小白学习笔记第43期【qmt编程之期货数据--如何获取历史主力合约--原生python】
    1. js中let、var、const定义变量区别与方式
    docker-compose 升级
    对于一位合格的DBA,究竟需要掌握多少种数据库?
    大数据在电力行业的应用案例100讲(二十六)-分布式ID微服务实现及应用
    localhost工具:本地代码的远程之路
    基于nodejs电影交流网站设计与实现-计算机毕业设计源码+LW文档
    五、Spring Boot 整合持久层技术(6)
    软考软件设计师刷题笔记整理
  • 原文地址:https://blog.csdn.net/HBT036017/article/details/128144299