0


Git 基础 & GitHub【学习笔记】

一、Git 优势

  • 大部分操作在本地完成,不需要联网
  • 完整性保证
  • 尽可能添加数据而不是删除或修改数据
  • 分支操作非常快捷流畅
  • 与 Linux 命令全面兼容

二、Git 程序安装

https://git-scm.com

三、Git 结构

#mermaid-svg-9Go6R1leWXWrDCqn {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-9Go6R1leWXWrDCqn .error-icon{fill:#552222;}#mermaid-svg-9Go6R1leWXWrDCqn .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-9Go6R1leWXWrDCqn .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-9Go6R1leWXWrDCqn .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-9Go6R1leWXWrDCqn .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-9Go6R1leWXWrDCqn .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-9Go6R1leWXWrDCqn .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-9Go6R1leWXWrDCqn .marker{fill:#333333;stroke:#333333;}#mermaid-svg-9Go6R1leWXWrDCqn .marker.cross{stroke:#333333;}#mermaid-svg-9Go6R1leWXWrDCqn svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-9Go6R1leWXWrDCqn .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-9Go6R1leWXWrDCqn .cluster-label text{fill:#333;}#mermaid-svg-9Go6R1leWXWrDCqn .cluster-label span{color:#333;}#mermaid-svg-9Go6R1leWXWrDCqn .label text,#mermaid-svg-9Go6R1leWXWrDCqn span{fill:#333;color:#333;}#mermaid-svg-9Go6R1leWXWrDCqn .node rect,#mermaid-svg-9Go6R1leWXWrDCqn .node circle,#mermaid-svg-9Go6R1leWXWrDCqn .node ellipse,#mermaid-svg-9Go6R1leWXWrDCqn .node polygon,#mermaid-svg-9Go6R1leWXWrDCqn .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-9Go6R1leWXWrDCqn .node .label{text-align:center;}#mermaid-svg-9Go6R1leWXWrDCqn .node.clickable{cursor:pointer;}#mermaid-svg-9Go6R1leWXWrDCqn .arrowheadPath{fill:#333333;}#mermaid-svg-9Go6R1leWXWrDCqn .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-9Go6R1leWXWrDCqn .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-9Go6R1leWXWrDCqn .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-9Go6R1leWXWrDCqn .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-9Go6R1leWXWrDCqn .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-9Go6R1leWXWrDCqn .cluster text{fill:#333;}#mermaid-svg-9Go6R1leWXWrDCqn .cluster span{color:#333;}#mermaid-svg-9Go6R1leWXWrDCqn div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-9Go6R1leWXWrDCqn :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}
git add

git commit

        工作区--写代码 
      


        暂存区--临时存储 
      


        本地库--历史版本 
      

四、Git 和 代码托管中心

  • 局域网环境下 - GitLab 服务器
  • 外网环境下 - GitHub- 码云

五、本地库和远程库

  • 团队内部协作#mermaid-svg-LGEKKlVpbgLRchdm {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-LGEKKlVpbgLRchdm .error-icon{fill:#552222;}#mermaid-svg-LGEKKlVpbgLRchdm .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-LGEKKlVpbgLRchdm .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-LGEKKlVpbgLRchdm .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-LGEKKlVpbgLRchdm .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-LGEKKlVpbgLRchdm .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-LGEKKlVpbgLRchdm .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-LGEKKlVpbgLRchdm .marker{fill:#333333;stroke:#333333;}#mermaid-svg-LGEKKlVpbgLRchdm .marker.cross{stroke:#333333;}#mermaid-svg-LGEKKlVpbgLRchdm svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-LGEKKlVpbgLRchdm .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-LGEKKlVpbgLRchdm .cluster-label text{fill:#333;}#mermaid-svg-LGEKKlVpbgLRchdm .cluster-label span{color:#333;}#mermaid-svg-LGEKKlVpbgLRchdm .label text,#mermaid-svg-LGEKKlVpbgLRchdm span{fill:#333;color:#333;}#mermaid-svg-LGEKKlVpbgLRchdm .node rect,#mermaid-svg-LGEKKlVpbgLRchdm .node circle,#mermaid-svg-LGEKKlVpbgLRchdm .node ellipse,#mermaid-svg-LGEKKlVpbgLRchdm .node polygon,#mermaid-svg-LGEKKlVpbgLRchdm .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-LGEKKlVpbgLRchdm .node .label{text-align:center;}#mermaid-svg-LGEKKlVpbgLRchdm .node.clickable{cursor:pointer;}#mermaid-svg-LGEKKlVpbgLRchdm .arrowheadPath{fill:#333333;}#mermaid-svg-LGEKKlVpbgLRchdm .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-LGEKKlVpbgLRchdm .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-LGEKKlVpbgLRchdm .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-LGEKKlVpbgLRchdm .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-LGEKKlVpbgLRchdm .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-LGEKKlVpbgLRchdm .cluster text{fill:#333;}#mermaid-svg-LGEKKlVpbgLRchdm .cluster span{color:#333;}#mermaid-svg-LGEKKlVpbgLRchdm div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-LGEKKlVpbgLRchdm :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}pushclonepush-'加入团队'pull 本地库1 远程库 本地库2
  • 跨团队协作#mermaid-svg-OssdPtPKw1YaczBx {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-OssdPtPKw1YaczBx .error-icon{fill:#552222;}#mermaid-svg-OssdPtPKw1YaczBx .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-OssdPtPKw1YaczBx .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-OssdPtPKw1YaczBx .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-OssdPtPKw1YaczBx .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-OssdPtPKw1YaczBx .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-OssdPtPKw1YaczBx .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-OssdPtPKw1YaczBx .marker{fill:#333333;stroke:#333333;}#mermaid-svg-OssdPtPKw1YaczBx .marker.cross{stroke:#333333;}#mermaid-svg-OssdPtPKw1YaczBx svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-OssdPtPKw1YaczBx .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-OssdPtPKw1YaczBx .cluster-label text{fill:#333;}#mermaid-svg-OssdPtPKw1YaczBx .cluster-label span{color:#333;}#mermaid-svg-OssdPtPKw1YaczBx .label text,#mermaid-svg-OssdPtPKw1YaczBx span{fill:#333;color:#333;}#mermaid-svg-OssdPtPKw1YaczBx .node rect,#mermaid-svg-OssdPtPKw1YaczBx .node circle,#mermaid-svg-OssdPtPKw1YaczBx .node ellipse,#mermaid-svg-OssdPtPKw1YaczBx .node polygon,#mermaid-svg-OssdPtPKw1YaczBx .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-OssdPtPKw1YaczBx .node .label{text-align:center;}#mermaid-svg-OssdPtPKw1YaczBx .node.clickable{cursor:pointer;}#mermaid-svg-OssdPtPKw1YaczBx .arrowheadPath{fill:#333333;}#mermaid-svg-OssdPtPKw1YaczBx .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-OssdPtPKw1YaczBx .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-OssdPtPKw1YaczBx .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-OssdPtPKw1YaczBx .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-OssdPtPKw1YaczBx .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-OssdPtPKw1YaczBx .cluster text{fill:#333;}#mermaid-svg-OssdPtPKw1YaczBx .cluster span{color:#333;}#mermaid-svg-OssdPtPKw1YaczBx div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-OssdPtPKw1YaczBx :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}forkclonepushmerge <- 审核 <- pull requestpullpull 远程库1 远程库2 本地库2-1 本地库1-1 本地库1-2

六、Git 命令行操作

1、本地库初始化

  • 命令:git init
  • 效果:在这里插入图片描述
  • 注意:.git 目录中存放的是本地库相关的子目录和文件,不要删除,也不要随意修改

2、设置签名

  • 形式: - 用户名- Email 地址
  • 作用:区分不同开发人员的身份
  • 辨析:这里的签名与登录远程库(代码托管中心)的账号密码没有任何关联
  • 命令: - 项目级别 / 仓库级别:仅在当前本地库范围内有效 - git config user.name abcdefg- git config user.email [email protected]- 信息保存位置:./.git/config- 系统用户级别:登录当前操作系统的用户范围 - git config --global user.name abcdefg- git config --global user.email [email protected]- 信息保存的位置:~/.gitconfig- 优先级:(就近原则)项目级别 > 系统用户级别

3、基本操作

  • 状态查看操作git status 查看工作区、暂存区状态
  • 添加操作git add [file name] 将工作区的“新建/修改”添加到暂存区
  • 提交操作git commit -m 'commit message' [file name] 将暂存区的内容提交到本地库
  • 查看历史记录git log(多屏显示控制方式:空格向下翻页;b 向上翻页;q 退出)git log --pretty=oneline``````git log --oneline
  • 前进后退 - 本质git reflog- 基于索引值操作(推荐)git reset --hard [局部索引值]- 使用 ^ 符号:只能往后退git reset --hard HEAD^ 一个 ^ 表示后退一步,n 个表示后退 n 步- 使用 ~ 符号:只能后退git reset --hard HEAD~n 表示后退 n 步
  • reset 命令的三个参数对比 - soft 参数:仅仅在本地库移动 HEAD 指针- mixed 参数:在本地库移动 HEAD 指针,并重置暂存区- head 参数:在本地库移动 HEAD 指针,并且重置暂存区和工作区
  • 删除文件并找回 - 前提:删除前文件存在是的状态提交到了本地库- 操作:git reset --hard [指针位置]
  • 比较文件差异git diff [文件名]:将工作区中的文件和暂存区进行比较git diff [本地库中历史版本]:将工作区中的文件和本地库历史记录比较 不带文件名比较多个文件

4、分支管理

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

好处:

  • 同时并行推进多个功能开发,提高开发效率
  • 各个分支在开发过程中,如果其中一个分支失败不会对其他分支产生任何影响
分支操作
  • 创建分支git branch [分支名]
  • 查看分支git branch -v
  • 切换分支git checkout [分支名]
  • 合并分支 - 切换到接受修改的分支上(被合并、增加新内容)上git checkout [被合并分支名]- 执行 merge 命令git merge [有新内容分支名]
  • 解决冲突 - 编辑文件,删除特殊符号- 把文件修改到满意程度,保存退出- git add [文件名]- git commit -m "日志信息"(此时 commit 不能带任何文件名)

七、Git 基本原理

哈希

  • 不论输入的数据的数据量有多大,输入同一个哈希算法,得到的加密结果长度固定
  • 哈希算法确定,输入数据确定,输出数据能够保持不变
  • 哈希算法确定,输入数据在变化,输出数据一定变化,而通常变化很大
  • 哈希算法不可逆

Git 底层采用的是 SHA-1 算法

原理:

#mermaid-svg-jxOVBQm1AKEGD7dg {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-jxOVBQm1AKEGD7dg .error-icon{fill:#552222;}#mermaid-svg-jxOVBQm1AKEGD7dg .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-jxOVBQm1AKEGD7dg .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-jxOVBQm1AKEGD7dg .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-jxOVBQm1AKEGD7dg .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-jxOVBQm1AKEGD7dg .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-jxOVBQm1AKEGD7dg .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-jxOVBQm1AKEGD7dg .marker{fill:#333333;stroke:#333333;}#mermaid-svg-jxOVBQm1AKEGD7dg .marker.cross{stroke:#333333;}#mermaid-svg-jxOVBQm1AKEGD7dg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-jxOVBQm1AKEGD7dg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-jxOVBQm1AKEGD7dg .cluster-label text{fill:#333;}#mermaid-svg-jxOVBQm1AKEGD7dg .cluster-label span{color:#333;}#mermaid-svg-jxOVBQm1AKEGD7dg .label text,#mermaid-svg-jxOVBQm1AKEGD7dg span{fill:#333;color:#333;}#mermaid-svg-jxOVBQm1AKEGD7dg .node rect,#mermaid-svg-jxOVBQm1AKEGD7dg .node circle,#mermaid-svg-jxOVBQm1AKEGD7dg .node ellipse,#mermaid-svg-jxOVBQm1AKEGD7dg .node polygon,#mermaid-svg-jxOVBQm1AKEGD7dg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-jxOVBQm1AKEGD7dg .node .label{text-align:center;}#mermaid-svg-jxOVBQm1AKEGD7dg .node.clickable{cursor:pointer;}#mermaid-svg-jxOVBQm1AKEGD7dg .arrowheadPath{fill:#333333;}#mermaid-svg-jxOVBQm1AKEGD7dg .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-jxOVBQm1AKEGD7dg .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-jxOVBQm1AKEGD7dg .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-jxOVBQm1AKEGD7dg .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-jxOVBQm1AKEGD7dg .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-jxOVBQm1AKEGD7dg .cluster text{fill:#333;}#mermaid-svg-jxOVBQm1AKEGD7dg .cluster span{color:#333;}#mermaid-svg-jxOVBQm1AKEGD7dg div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-jxOVBQm1AKEGD7dg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}
SHA-1

SHA-1

        原始文件 
      


        2f9a352d8291ccbeea00628489141e45fd081a 
      


        网络传输 
      


        目标文件 
      


        8369f40251df6eb213d0a92a5b0390e5c8805b4d 
      


        对比 -> 不一致 -> 目标文件有损坏 
      

八、GitHub

1、创建远程库

#mermaid-svg-4KltpFg6uQz2YU2i {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-4KltpFg6uQz2YU2i .error-icon{fill:#552222;}#mermaid-svg-4KltpFg6uQz2YU2i .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-4KltpFg6uQz2YU2i .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-4KltpFg6uQz2YU2i .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-4KltpFg6uQz2YU2i .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-4KltpFg6uQz2YU2i .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-4KltpFg6uQz2YU2i .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-4KltpFg6uQz2YU2i .marker{fill:#333333;stroke:#333333;}#mermaid-svg-4KltpFg6uQz2YU2i .marker.cross{stroke:#333333;}#mermaid-svg-4KltpFg6uQz2YU2i svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-4KltpFg6uQz2YU2i .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-4KltpFg6uQz2YU2i .cluster-label text{fill:#333;}#mermaid-svg-4KltpFg6uQz2YU2i .cluster-label span{color:#333;}#mermaid-svg-4KltpFg6uQz2YU2i .label text,#mermaid-svg-4KltpFg6uQz2YU2i span{fill:#333;color:#333;}#mermaid-svg-4KltpFg6uQz2YU2i .node rect,#mermaid-svg-4KltpFg6uQz2YU2i .node circle,#mermaid-svg-4KltpFg6uQz2YU2i .node ellipse,#mermaid-svg-4KltpFg6uQz2YU2i .node polygon,#mermaid-svg-4KltpFg6uQz2YU2i .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-4KltpFg6uQz2YU2i .node .label{text-align:center;}#mermaid-svg-4KltpFg6uQz2YU2i .node.clickable{cursor:pointer;}#mermaid-svg-4KltpFg6uQz2YU2i .arrowheadPath{fill:#333333;}#mermaid-svg-4KltpFg6uQz2YU2i .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-4KltpFg6uQz2YU2i .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-4KltpFg6uQz2YU2i .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-4KltpFg6uQz2YU2i .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-4KltpFg6uQz2YU2i .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-4KltpFg6uQz2YU2i .cluster text{fill:#333;}#mermaid-svg-4KltpFg6uQz2YU2i .cluster span{color:#333;}#mermaid-svg-4KltpFg6uQz2YU2i div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-4KltpFg6uQz2YU2i :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}

        New repository 
      


        Repository name 
      


        Create repository 
      

2、在本地创建远程库地址别名

git remote -v

:查看当前所有远程地址别名

git remote add [别名] [远程库https地址]

3、推送操作

git push [别名] [分支名]

4、克隆

  • 命令:git clone [远程地址]
  • 效果: - 完整地把远程库下载到本地- 创建 origin 远程地址别名- 初始化本地库

5、拉取

  • pull = fetch + merge
  • git fetch [远程库地址别名] [远程分支名]
  • git merge [远程库地址别名/远程分支名]
  • git pull [远程库地址别名] [远程分支名]

6、解决冲突

如果不是最新推送,必须先拉取

7、跨团队协作

  • 点击 Fork
  • 本地修改,然后推送到远程
  • #mermaid-svg-u6tJvcQ9ryCd3lCd {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-u6tJvcQ9ryCd3lCd .error-icon{fill:#552222;}#mermaid-svg-u6tJvcQ9ryCd3lCd .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-u6tJvcQ9ryCd3lCd .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-u6tJvcQ9ryCd3lCd .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-u6tJvcQ9ryCd3lCd .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-u6tJvcQ9ryCd3lCd .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-u6tJvcQ9ryCd3lCd .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-u6tJvcQ9ryCd3lCd .marker{fill:#333333;stroke:#333333;}#mermaid-svg-u6tJvcQ9ryCd3lCd .marker.cross{stroke:#333333;}#mermaid-svg-u6tJvcQ9ryCd3lCd svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-u6tJvcQ9ryCd3lCd .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-u6tJvcQ9ryCd3lCd .cluster-label text{fill:#333;}#mermaid-svg-u6tJvcQ9ryCd3lCd .cluster-label span{color:#333;}#mermaid-svg-u6tJvcQ9ryCd3lCd .label text,#mermaid-svg-u6tJvcQ9ryCd3lCd span{fill:#333;color:#333;}#mermaid-svg-u6tJvcQ9ryCd3lCd .node rect,#mermaid-svg-u6tJvcQ9ryCd3lCd .node circle,#mermaid-svg-u6tJvcQ9ryCd3lCd .node ellipse,#mermaid-svg-u6tJvcQ9ryCd3lCd .node polygon,#mermaid-svg-u6tJvcQ9ryCd3lCd .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-u6tJvcQ9ryCd3lCd .node .label{text-align:center;}#mermaid-svg-u6tJvcQ9ryCd3lCd .node.clickable{cursor:pointer;}#mermaid-svg-u6tJvcQ9ryCd3lCd .arrowheadPath{fill:#333333;}#mermaid-svg-u6tJvcQ9ryCd3lCd .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-u6tJvcQ9ryCd3lCd .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-u6tJvcQ9ryCd3lCd .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-u6tJvcQ9ryCd3lCd .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-u6tJvcQ9ryCd3lCd .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-u6tJvcQ9ryCd3lCd .cluster text{fill:#333;}#mermaid-svg-u6tJvcQ9ryCd3lCd .cluster span{color:#333;}#mermaid-svg-u6tJvcQ9ryCd3lCd div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-u6tJvcQ9ryCd3lCd :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Pull Request New pull request Create pull request Pull Request commits Files changed Conversation Merge pull request Confirm merge
  • 对话
  • 审核代码
  • 将远程库拉取到本地

8、SSH 登录

  • 进入当前用户的加目录cs ~
  • 删除 .ssh 目录rm-rvf .ssh
  • 运行命令生成 .ssh 密钥目录ssh-keygen -t rsa -C [email protected] [注意:这里 -C 这个参数是大写]
  • 进入 .ssh 目录查看文件列表cd .ssh``````ls - lF
  • 查看 id_rsa.pub 文件内容cat id_rsa.pub
  • 复制 id_rsa.pub 文件内容,登录 GitHub#mermaid-svg-7pSJ0jlrOsne1Hva {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-7pSJ0jlrOsne1Hva .error-icon{fill:#552222;}#mermaid-svg-7pSJ0jlrOsne1Hva .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-7pSJ0jlrOsne1Hva .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-7pSJ0jlrOsne1Hva .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-7pSJ0jlrOsne1Hva .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-7pSJ0jlrOsne1Hva .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-7pSJ0jlrOsne1Hva .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-7pSJ0jlrOsne1Hva .marker{fill:#333333;stroke:#333333;}#mermaid-svg-7pSJ0jlrOsne1Hva .marker.cross{stroke:#333333;}#mermaid-svg-7pSJ0jlrOsne1Hva svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-7pSJ0jlrOsne1Hva .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-7pSJ0jlrOsne1Hva .cluster-label text{fill:#333;}#mermaid-svg-7pSJ0jlrOsne1Hva .cluster-label span{color:#333;}#mermaid-svg-7pSJ0jlrOsne1Hva .label text,#mermaid-svg-7pSJ0jlrOsne1Hva span{fill:#333;color:#333;}#mermaid-svg-7pSJ0jlrOsne1Hva .node rect,#mermaid-svg-7pSJ0jlrOsne1Hva .node circle,#mermaid-svg-7pSJ0jlrOsne1Hva .node ellipse,#mermaid-svg-7pSJ0jlrOsne1Hva .node polygon,#mermaid-svg-7pSJ0jlrOsne1Hva .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-7pSJ0jlrOsne1Hva .node .label{text-align:center;}#mermaid-svg-7pSJ0jlrOsne1Hva .node.clickable{cursor:pointer;}#mermaid-svg-7pSJ0jlrOsne1Hva .arrowheadPath{fill:#333333;}#mermaid-svg-7pSJ0jlrOsne1Hva .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-7pSJ0jlrOsne1Hva .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-7pSJ0jlrOsne1Hva .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-7pSJ0jlrOsne1Hva .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-7pSJ0jlrOsne1Hva .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-7pSJ0jlrOsne1Hva .cluster text{fill:#333;}#mermaid-svg-7pSJ0jlrOsne1Hva .cluster span{color:#333;}#mermaid-svg-7pSJ0jlrOsne1Hva div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-7pSJ0jlrOsne1Hva :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 用户头像 Settings SSH and GPG keys
  • New SSH Key
  • 输入复制的密钥信息
  • 回到 Git hash 创建远程地址别名git remote add origin_ssh [email protected]:abcdefg@123456/[项目名称].git
  • 推送文件进行测试
标签: git github 学习

本文转载自: https://blog.csdn.net/kuiini/article/details/140722533
版权归原作者 kuiini 所有, 如有侵权,请联系我们删除。

“Git 基础 & GitHub【学习笔记】”的评论:

还没有评论