Git

全世界最牛批的分布式版本管理工具

一、搭建git环境

  1. 从git官网下载,在安装选择时,第二次选择选第三个选项(避免回车符问题)
  2. 在命令行里设置git的配置信息(用户名和邮箱),之后的提交都会用这两个信息
    可通过git config --list 来查看git 环境参数配置
  3. 初始化一个git仓库 git init
  4. 添加自己的改动
  5. 将改动从工作区域同步到暂存区域
    git add .
  6. 将改动从暂存区域同步到本地git仓库
    git commit -m "commit info"
  7. 上传本地git代码到远端(第一次需要设置远端的github/gitlab地址)
    git remote add origin [email protected]:Boomxiakalakaka/git-learning.git
    git push -u origin master

二、开发常用操作

1. checkout(覆盖)

数据流动: 暂存区域 ——> 工作区域

  1. 将暂存区域中的数据覆盖开发区域的新改动的数据(开发区域的数据会丢)
    指定覆盖文件内容:git checkout -- README.md
    如果工作区域有新增的文件/文件夹,使用checkout命令会报错
    当是如果是工作区域有删除的文件/文件夹,使用checkout是可以进行恢复

2. reset(重置)

fixed
数据流动:git仓库 ——> 暂存区域
git仓库会重置到上次提交的位置(commit提交两次则重置到第一次提交后的模样)
然后再将重置后的数据同步到暂存区域
重置到上次的指令:git reset HEAD~
重置到上上次的指令:git reset HEAD~2
重置到指定版本:git reset a530b2(commit标识的前六位即可)
重置指定版本的指定文件:git reset a530b2 文件
重置到未来:

  • 先查看包含重置前的所有提交 git reflog
  • 指定重置到的指定提交 git reset b3tr2e(相比当前是以后的快照)

soft
将head指向上一个快照:相当于撤销上次的commit提交
不会修改暂存区域的数据
重置到上次的指令:git reset --soft HEAD~
重置到上上次的指令:git reset --soft HEAD~2
重置到指定版本:git reset --soft a530b2(commit标识的前六位即可)

hard
数据流动:git仓库 ——> 暂存区域 ——> 开发区域
将head移到上一次的提交
将git上次提交的内容覆盖暂存区域和开发区域
暂存区域和开发区域的数据会丢失
重置到上次的指令:git reset --hard HEAD~
重置到上上次的指令:git reset --hard HEAD~2
重置到指定版本:git reset --hard a530b2(commit标识的前六位即可)

3. 比较差异

比较工作区域和暂存区域
git diff

比较两个历史快照
git diff A快照编号 B快照编号

比较工作区域和指定快照的差异
git diff 指定快照编号
比较工作区域和最近一次commit提交的差异
git diff HEAD

比较暂存区域和指定快照的差异
git diff --cached HEAD
git diff --cached 快照编号
Git_第1张图片

删除/修改
删除工作区域指定文件
git rm 文件名
仅删除暂存区域指定文件
git rm --cached 文件名
同时删除工作区域和暂存区域的指定文件
git rm -f 文件名
文件改名
git mv 旧文件名 新文件名

4. 其他

修改最近一次提交的描述
git commit --amend
git commit --amend -m "update describe"

查询

  • git status查看当前的工作状态
  • git log 查看提交(commit)记录

三、分支

1. 流程

  1. 创建分支 git branch feature
  2. 查看包括当前head指向分支在内的日志
    git log --decorate
    git log --decorate --oneline
    git log --decorate --oneline --graph --all
  3. 切换分支git checkout feature
    创建并切换分支git checkout -b feature
  4. 切换回主分支git checkout master
  5. 将指定分支合并到当前分支git merge feature
  6. 一般上一步都会发生冲突,查看冲突发生的位置git status
    然后打开有冲突的文件解决冲突,确保冲突解决之后,
    采用git add 冲突文件和git commit 操作来成功合并此次操作

四、心得

  1. git记录的是每一次的改动
  2. git有三棵树,一颗是工作区域,一颗是暂存区域,一颗是git仓库
    每棵树都可以理解为一个文件夹,相当于一个项目存了三份
  3. Git管理的文件有三种状态

    • 已修改(modified):表示工作区域有改动,当没同步到暂存区域
    • 已暂存(staged):表示工作区域的改动已经同步到暂存区域但没提交
    • 已提交(committed):表示暂存区域的改动已经提交到git仓库
  4. 通过add提交到工作区却没commit并再次改动文件,git status时就会显示两类信息
  5. 即便删除分支,分支的那些提交记录依然存在,因此删除的其实是分支的指针
  6. 在对代码的改动中,尽量多提交代码,这样可以避免冲突的发生以及耗费大量时间去解决

五、疑问

  1. git都有哪些好用的config配置

你可能感兴趣的:(git,大数据)