Git简介 分支 退回 冲突

初始配置

用户信息配置
$ git config --global user.name “…”
$ git config --global user.email “…”

git config --list 查看已配置的内容

基础linux命令

  • clear : 清楚屏幕内容
  • echo ‘test content’ : 往控制台输出信息 这个输出为 ‘test content’
  • ll : 将当前目录下的子文件&子目录平铺在控制台
  • find 目录名 : 将对应目录下的子孙文件&子孙目录平铺在控制台
  • find 目录名 -type f : 将对应目录下的文件平铺在控制台
  • rm 文件名 : 删除文件
  • mv 原文件 重命名文件 : 重命名
  • cat 文件的URL :查看对应文件的内容
  • vim 文件的url(英文模式下)
    按 i 进去插入模式 进行文件的编辑
    按 esc&按:键 进行命令的执行
    q! 强制退出(不保存)
    wq 保存退出
    set nu 设置行号
  • echo ‘…’ > 文件名.后缀 创建内容为 … 的文件
  • touch 文件名.后缀 创建文件

区域

  • 工作区
  • 暂存区
  • 版本库

在工作区进行修改,提交到暂存区,一定量的时候提交到版本库

对象

  • Git对象
  • 树对象
  • 提交对象

在工作区内(可以理解为创建的一个文件夹)执行
git init 进行初始化一个仓库(这也就是版本库)会生成一个.git文件
创建的.git文件目录如下
在这里插入图片描述

  • hooks 目标客户端或服务端的钩子脚本
  • info 包含一个全局性排除文件
  • logs 保存日志消息
  • objects 存储所有数据内容
  • refs 存储指向数据(分支)的提交对象的指针
  • config 包含项目持有的配置选项
  • description 显示仓库的描述信息
  • HEAD 指示目前被检出的分支
  • index 保存暂存处内容

git对象

git对象的核心部分是一个简单的键值对数据库,键值对在git内部是一个blob类型

每一个文件存入后返回一个哈希值,通过哈希值寻找文件,但记住每一个哈希值并不现实,解决方案:树对象

树对象

树对象,能解决文件名保存的问题,也允许将多个文件组织到一起。Git类似于UNIX文件系统的 方式存储内容。所有内容均以树对象和数据对象(git对象)的形式存储,其中树对象对应了UNIX中的目录项,数据对象(git对象)则大致上对应文件内容。一个树对象包含了一条或多条记录。一个数对象也可以包含另一个树对象。

提交对象

提交对象相当于对树对象做一个包裹
在这里插入图片描述

高层命令

git init					初始化仓库
git add ./					将修改添加到暂存区
git diff					查看哪些修改还没有暂存
git diff --staged 			查看哪些修改已被暂存但未被提交
git commit -m "注释信息"		将暂存区提交到版本库
git commit 					进入较多注释信息的编写状态
git commit -a -m "注释信息"	跳过暂存区的状态,直接提交到版本库
git status		检查文件当前处于什么状态
git 原文件名.后缀  新文件名.后缀  修改文件名
git log						查看历史记录(按q退出)

git add 文件路径
将工作区的修改内容做成一个git对象提交到版本库,然后从版本库拿到暂存区中

git commit -m [“注释内容”]
将暂存区的内容提交到版本库中,并不会清空暂存区

最基本流程

  • 创建工作目录,对工作目录进行修改
  • git add 路径
  • git commit -m “注释内容”

分支

git分支的本质是指向提交对象的可变指针
一般不会直接在主分支master上做修改
而是开一个新的分支做修改,确保修改无误后合并到主分支上

git branch				显示分支列表
git branch 分支名		创建分支
git checkout 分支名		切换分支
git	branch -d 分支名		删除分支
git branch -D 分支名		强制删除分支
git branch -v 			查看当前分支的最后一次提交
git branch -b 分支名		新建一个分支并切换上去
git merge 分支名a		回到分支b,合并分支a

切换分支后工作目录会变成所切换分支的最后一次更改后的状态
切换分支之前要将所有修改提交到版本库

存储

在进行了一部分的工作后,若想要切换到另一个分支,可以先将此分支所进行的修改进行存储

git stash命令
此命令会将未完成的修改保存到一个栈上,并可以在任何时候重新应用这些改动

git stash list 查看存储
git stash pop 应用存储并且删除它
git stash drop 名字 移除指定存储内容

撤销

git restore 文件名
当修改过后,git status查看文件状态,会提示撤销命令和git add

git reset --soft head 撤销上一次的git commit
在这里插入图片描述
先跟踪远程分支,再git pull 或者 git push

一个本地分支怎么跟踪远程跟踪分支

  1. 当克隆的时候后,会自动生成一个master本地分支(已经跟踪了对应的远程分支)
  2. 在新建其他分支时,可以指定想要跟踪的远程跟踪分支
    git checkout -b 本地分支名 远程跟踪分支名
    git checkout --track 远程跟踪分支名
  3. 将一个已经存在的本地分支 改成一个跟踪分支
    git branch -u 远程跟踪分支名
    …还有很多 懒得记了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值