zoukankan      html  css  js  c++  java
  • git笔录

    【一】git介绍

    初始的项目版本管理可以在本地赋值备份之前版本代码,项目较小时还可以,但项目较大时,这种方法显得有点捉襟见肘 ... ...
    后期也出现了很多版本管理工具,例如svn、vcs、vss等等...

    【二】git安装

    安装时分为32位和64位

     

     下载好安装包后,安装即可

      (1)安装验证,右击查看菜单栏

        

       一般使用指令界面即可

    【三】初始化git仓储

      PS:这里举例是本地新建项目,并非导入已有项目

    (1)本地新建项目文件

      

    (2)当前项目目录下右击打开Git工具,路径为当前打开的项目路径

       

    (3)初始化仓库

    git init

    翻译为:已经初始化了一个空的Git仓库在当前文件夹下,如下所示

     

     有的计算机如果无法查看该隐藏文件,则可以设置显示隐藏文件,如下所示

    然后将隐藏文件设置为显示状态即可

     

    【四】配置用户名+邮箱

    分析:项目开发完后,将项目备份至本地.git隐藏目录

     同一个项目可能有多个人协同开发,为了知道项目具体代码贡献者,最好给每个项目贡献人员一个身份识别,所以接下来配置个人信息。

    1、姓名:git config --global user.name "tony"
      分析:config表示配置,global表示当前配置为全局配置,以后不用再进行配置

    2、邮箱:git config --global user.email "xxx@qq.com"
       分析:user.email为邮箱配置
    .

    以后可以在.git的logs日志文件里查看提交日期、备案名、贡献者等等... ...

    【五】存储代码至本地git仓储

    (1)首先验货

    git status

    查看项目文件变化

    (2)门岗验货,将代码放置大门门口

    Git有一个暂存区,可以放入新添加的文件或者加入新的改动
    git add .或者git add./具体文件路径

    解析:

    git add .为一次性将所有文件加入缓存区,git add ./url为将指定文件加入缓存区

    添加所有文件到门口

    (3)将代码从门口放置到仓库

    git commit -m"备注"
      分析:commit为提交

     

    【六】代码开发新功能,然后提交

      步骤与之前类似,先验货→放门口→入仓库

    git status
    git add .
    git commit -m"备注"

    注意:提交时一定要添加备注,不然会进入vim编辑器模式(功能强大的跨平台文本文件编辑工具),如下所示

     相关编辑语法:

    一般模式切换到编辑模式:
    i,I:进入插入模式,i为从目前光标所在处插入。I为在目前所在行的第一个非空格字符处开始插入。
    a,A:进入插入模式。a为从目前光标所在处的下一个字符处开始插入。A为从所在行的最后一个字符处开始插入。
    o,O:进入插入模式。o为在下一行插入。O为在上一行插入。
    r,R:进入替换模式。r只替换光标所在那个字符一次。R会一直替换光标所在字符,直到按下Esc键。
    
    一般模式切换到命令行:
    :w:将编辑的数据写入到硬盘中。
    :q:离开vi.后面加!为强制离开。
    :wq:保存后离开。:wq!为强制保存后离开。

    q为quit退出

    【七】查看状态

    git status

    git status命令用于显示工作目录和暂存区的状态。使用此命令能看到那些修改被暂存到了, 哪些没有, 哪些文件没有被Git tracked到。

    【八】查看日志

    git log

     精简方式查看日志

    git log --oneline

     

    【九】忽略文件

    【十】git版本回退+版本切换(通过版本号进行切换)

    (1)查看简洁日志

    git log --oneline

    版本回退,只是本地的。不会影响git库中的内容

    (2)查看具体版本号

    git log --pretty=oneline

    (3)回退到具体的版本号

    git rset --hard 版本号

    (4)撤销回退

    git reset --hard HEAD@{1}

    直接回到刚才的那个结点,{}中表示的是结点的序号

    (5)除了以上回退方法,还有另一种

    git reset --hard Head~0
      0为当前
      1为上一个

    【十一】创建+切换+合并+删除分支

    前言:默认主分支master

    (1)创建分支

    git branch 分支名

    (2)切换分支

    git checkoout 分支名

    切换到指定分支

    (3)查看当前分支

    git branch

    (4)分支合并

    git merge 分支名

    将新建分支合并到主分支,也可以合并到其他指定分支

     

    (5)删除分支

    git branch -d 分支名

    注意:不能在当前分支上删除本分支

    例如,主分支上删除其他分支

    【十二】合并分支时冲突

    冲突场景:在其他分支上做完操作后,最后切换回主分支进行合并,但在合并前不小心修改了主分支上代码,此时再合并便会合并失败,出现合并冲突

    接下来需要手动处理冲突,此时打开文件查看

    接下来人为判断进行删减,如下所示

    最后重新提交即可

     

    【十三】本地git库部署到线上

    (1)前言 

    目前为止,只是在一个电脑上做版本管理,当进行团队协作时,便需要结合线上代码部署平台,进行线上线下团队管理

     PS:GitHub不是git

     

     如果想把本地代码提交到线上,这里需要用到git push指令

    (2)登录代码托管平台,这里我先选择GitHub,国内常用的还有码云

    (3)新建线上仓库

     

    创建后如下所示

    (4)复制HTTPS地址

    提交→将本地git主分支代码提交到线上主分支

    git push https://github.com/dfs12/test.git master

    (5)身份验证

    第一次提交时,会要求输入用户名和密码,这里的用户名和密码指的是GitHub的用户名和密码。

    【十四】克隆/拉取线上代码

    (1)新开发人员加入后需要拉取线上仓库到本地,所以首先需要在本地建立项目文件夹,并初始化git仓库

     

     

    (2)拉取代码

    往线上部署是推送git push,从线上往本地拉取为git pull

    git pull 远程git地址 master

     接下来查看本地文件,发现已经拉取成功

    (3)除了使用git pull拉取远程仓库,还可以使用克隆方法

    git clone 线上地址

    (4)git pull和git clone区别

    git clone会在本地创建与远程仓库相同名字文件夹
    git pull需要先在本地初始化仓库,再拉取远程主分支

    (5)开发规范

    开发过程一般部署git push,拉取git pull

    【十五】通过ssh方式上传代码

     目前为止,通过HTTP方式上传代码时,需要GitHub用户名和密码,如果多人开发需要同时知晓,安全性较低,此时可以通过SSH方式

    ssh方式上传代码,可以无需输入用户名和密码,即可通过验证。
    这里验证方式,涉及到公钥和私钥

    (1)添加生成公钥

    生成公钥

    ssh-keygen -t rsa -C <your_email@example.com>( 你的邮箱),连续点击 Enter 键即可

    https://git-scm.com/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E7%94%9F%E6%88%90-SSH-%E5%85%AC%E9%92%A5

    查看公钥

    cd ~/.ssh
    ls
    cat ~/.ssh/id_rsa.pub

    https://coding.net/help/doc/git/ssh-key.html

    然后将公钥复制到GitHub

    (2)查看公钥

    除了上面方式,也可以根据路径找到相应文件进行查看

    .pub后缀为公钥
    另一个为私钥

    (3)添加

    之后便可以通过SSH方式直接push代码

     

    这个公钥和私钥的作用有什么用?
    公钥我们一般是给服务器的,他们到时候在权限中加入我给的公钥,然后当我从远地仓库中下载项目的时候,我在git clone xxx的时候,
    那个服务器我通过他的绑定的公钥来匹配我的私钥,这个时候,如果匹配,则就可以正常下载,如果不匹配,则失败.

    【十六】模拟两个用户同时开发

     (1)前言

      当前小明已经push推送完毕,接下来新加入的人员小红开始拉取代码

    (2)拉取

    git pull方式拉取代码时
    1、新建本地文件夹
    2、初始化本地git仓库,生成隐藏目录.git
    3、git pull 远程仓库地址 master

    【十七】多人协同开发

    多人协同开发经常出现代码冲突,此时手动人为判断即可

    【十八】push与pull先后顺序

    多人协同开发时,每次先拉取git pull,然后再推送 git push

    【十九】git pull与git push简写

    目前为止,每次拉取或者上传代码时,都会要求输入远程仓库地址,有些麻烦

    使用以下命令配置远程存储库

    git remote add 变量名 远程仓库地址
        remote译为远程,添加远程地址

    例如

    git remote add origin 远程仓库地址

    输入完成后,以后再次提交时便不用再输入git远程仓库地址,将origin替换其即可

    注意:只针对当前配置好的目录下有效,如果没有配置,则在其他目录下均无效。

    【二十】关联当前本地分支与远程分支

    第一次提交时可以通过

    git push origin -u master

    通过-u将本地分支与远程分支进行关联,此后再次提交,便不用在最后输入origin与master

    以后再提交时只需

    git push

    同理,此时拉取时也直接输入git pull即可。

    【小结】

    1)初始化git仓库
        git init
    (2)配置用户名+邮箱
      姓名:git config --global user.name "tony"
      邮箱:git config --global user.email "xxx@qq.com"3)存储代码至本地git仓储
      git status查看项目文件变化
      git add .为一次性将所有文件加入缓存区,git add ./url为将指定文件加入缓存区
      git commit -m"备注" (
    4)vim编辑器模式(功能强大的跨平台文本文件编辑工具)

        一般模式切换到编辑模式:
        i,I:进入插入模式,i为从目前光标所在处插入。I为在目前所在行的第一个非空格字符处开始插入。
        a,A:进入插入模式。a为从目前光标所在处的下一个字符处开始插入。A为从所在行的最后一个字符处开始插入。
        o,O:进入插入模式。o为在下一行插入。O为在上一行插入。
        r,R:进入替换模式。r只替换光标所在那个字符一次。R会一直替换光标所在字符,直到按下Esc键。

        一般模式切换到命令行:
        :w:将编辑的数据写入到硬盘中。
        :q:离开vi.后面加!为强制离开。
        :wq:保存后离开。:wq!为强制保存后离开

    (5)查看日志
      git log查看完整日志
      git log --oneline查看简洁日志
    (6)版本回退/切换
      1、git reset --hard Head~0
      2、查看具体版本git log --pretty=oneline,然后切换到指定版本git rset --hard 版本号
      3、撤销回退git reset --hard HEAD@{1}
    (7)创建+切换+合并+删除分支
      1、创建:git branch 分支名
      2、切换:git checkoout 分支名
      3、查看分支:git branch
      4、合并分支:git merge 分支名
      5、删除分支:git branch -d 分支名
    (8)GitHub不是git
    (9)本地git库部署到线上
      1、登录代码托管平台,这里我先选择GitHub,国内常用的还有码云
      2、新建线上仓库
      3、复制仓库HTTPS地址
      4、提交→将本地git主分支代码提交到线上主分支
      5、身份验证:第一次提交时,会要求输入用户名和密码,这里的用户名和密码指的是GitHub的用户名和密码
    (10)克隆/拉取线上代码
      1、新开发人员加入后需要拉取线上仓库到本地,所以首先需要在本地建立项目文件夹,并初始化git仓库
      2、拉取代码:往线上部署是推送git push,从线上往本地拉取为git pull
      3、除了使用git pull拉取远程仓库,还可以使用克隆方法:git clone 线上地址
    (11)git pull与git clone区别
      1、git clone会在本地创建与远程仓库相同名字文件夹
      2、git pull需要先在本地初始化仓库,再拉取远程主分支
    (12)通过ssh方式上传代码
      1、目前为止,通过HTTP方式上传代码时,需要GitHub用户名和密码,如果多人开发需要同时知晓,安全性较低,此时可以通过SSH方式.
        ssh方式上传代码,可以无需输入用户名和密码,即可通过验证。这里验证方式,涉及到公钥和私钥
      2、添加生成公钥
        ssh-keygen -t rsa -C <your_email@example.com>( 你的邮箱),连续点击 Enter 键即可
      3、查看公钥
        两种方式,一种在本地查看,一种通过指令查看
          ①cd ~/.ssh
          ②ls
          ③cat ~/.ssh/id_rsa.pub
        另外除了上面方式,也可以根据路径找到相应文件进行查看
          .pub后缀为公钥,另一个为私钥
    (13)这个公钥和私钥的作用有什么用?   公钥我们一般是给服务器的,他们到时候在权限中加入我给的公钥,然后当我从远地仓库中下载项目的时候,我在git clone xxx的时候,   那个服务器我通过他的绑定的公钥来匹配我的私钥,这个时候,如果匹配,则就可以正常下载,如果不匹配,则失败
    (14)git pull与git push简写
      目前为止,每次拉取或者上传代码时,都会要求输入远程仓库地址,有些麻烦   使用以下命令配置远程存储库
      指令:git remote add 变量名 远程仓库地址
      输入完成后,以后再次提交时便不用再输入git远程仓库地址,将origin替换其即可
    (15)简化提交git push
      第一次提交时可以通过
      指令:git push origin -u master
      通过-u将本地分支与远程分支进行关联,此后再次提交,便不用在最后输入origin与master
      以后再提交时只需git push
    (16)添加关联本地分支+远程分支
      git remote add origin https://dev.33.cn/wangdong/alioss-file.git
    (17)取消关联本地分支+远程分支
      如果本地代码,已经关联了远程分支,则需要先解除关联
      git remote remove origin

    .

  • 相关阅读:
    SESSION与COOKIE的区别
    一位36岁程序员的困惑(转)
    COOKIE&&SESSION
    PHP递归实现层级树状展现数据
    小程序优化
    css层级
    组件封装
    webpack构建流程
    HTTP2.0
    vue中子组件修改父组件传入的值
  • 原文地址:https://www.cnblogs.com/fightjianxian/p/12074992.html
Copyright © 2011-2022 走看看