Git-从了解开始

背景知识

应用场景:

备份;

代码还原;

协同开发;

追溯(追责)

版本控制器方式

集中式:中央服务器,必须联网

分布式:每个人的电脑一个完整的版本,无需联网

特点

速度

简单的设计

支持非线性模式(可同时开发的分支)

完全式分布

可以linux内核一样大的超大项目

工作流程

在这里插入图片描述

配置

配置用户信息

git config --global user.name “Li Yueying”

git config --global user.email “1484265307@qq.com”

查看配置信息

git config --global user.name

git config --global user.email

解决乱码问题

git c_onfig --global core.quotepath false

${git_home}/etc/bash.bashrc加入代码

export LANG=“zh_CN.UTF-8”

export LC_ALL=“zh_CN.UTF-8”

获取本地仓库

  • 任意空文件下 打开Git

  • 打开Git bash窗口

  • 窗口初始化:git init

  • 仓库的使用

    • 状态查看:git status

    • 工作区–》暂存区 git add 文件名/.

      • .为通配符,指所有
    • 暂存区–》本地仓库 git commit -m "注释内容"

    • 查看提交日志 git log [option]

      • --pretty=online 将提交信息显示为一行
        --abbrev-commit 使得输出的commitId更加简短
        --all显示所有分支
        --graph以图的形式显示	commitID`
        
    • 版本回退:`git reset --hard

      • 已知commitID,则无知前进、后退皆可以
    • 查看版本回退日志

      • log reflog
    • 忽略列表

      • 以相对路径格式输入文档即可
      • vim .gitgnore
  • 分支基础

    • git branch查看本地分支
    • git branch new_name 创建新分支
    • 一个工作区只能对一个分支服务
    • 切换:git checkout 分支名
    • 切换到一个不存在的分支:git checkout -b 分支名
    • 其他分支看不见被ignore的
    • 一般将其他合并到master
      • 切换到master
      • git merge 被合并的分支名
    • 合并的快进模式
    • 删除分支(需做检查) git branch -d 分支名
    • 删除分支(不做任何检查)git branch -D 分支名
      • 应用场景:某一分支没有完全合并,但确实不需要的时候
  • 分支使用原则、流程

    • master(生产)分支:主要分支,不会删《=====develop不断合并到其上
    • develop(开发)分支,不会删《====feature不断合并到其上
    • hotfix 修复bug,从master分支,修改内容分别合并到master、develop
  • 冲突

    • eg.改了同一文件同一行
    • 合并提示:conflict===》在该文件中多个版本都被记录
    • 处理
      • 处理冲突文件冲突地方
      • git add git commit提交

远程仓库

常见的:github gitee gitLab

公钥:

  • 生成公钥

  • - (在bash界面)`ssh-keygen -t rsa`
    - 一路回车 
    - =》
    - 查看 `cat ~/.ssh/id_rsa.pub`
    
  • (网页)将公钥复制到 gitee-》设置-》安全设置-》SSH公钥

  • 验证

  • (bash界面)`ssh -T git@gitee.com`
    

添加-》同步到远程

添加一个远程仓库

git remote add new_far_name(默认origin) ssh_url(gitee得到)

查看已有远程仓库

git remote

同步本地到远程

git push origin master

—》完整:git push [-f(强制覆盖)] [--set-upstream(推送到远端同时建立和远端分支的关系)] [远端名称[本地分支名] [:远端分支名](如: git push origin master:master)

---->如果已经建立当前分支和远端分支关联:

git push

clone

git clone ssh地址 [clone到本地的路径]

抓取 拉取

git fetch [remote_name] [ branch_name]

更新抓到本地,不支持合并,默认抓所有分支更新

git pull [remote_name] [ branch_name]

更新抓并且合并到本地=fetch+merge

解决合并冲突

产生:提交还未推的文件,对应的主线文件被其他人提交了==》先合并在提交

=》if(修改了同一行):=》冲突=》解决方法同 解决本地冲突

注意

  • 切换分支前,提交本地修改
  • 千万不要删除文件目录
  • 问题解决方法

Git Authentication failed for 终极解决方案


说明:
1.本文在观看《黑马程序员前端教程-版本控制Git》后完成
2.如有错漏,敬请指正

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值