Git基础学习

参考 https://www.runoob.com/git/git-tutorial.html

建议到菜鸟教程学习

Git简介

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

git安装与配置

Centos下安装

yum install curl-devel expat-devel gettext-devel \
  openssl-devel zlib-devel

yum -y install git-core

git --version查看git版本,出现版本信息即安装成功

配置

git config查看用法

用法:git config [选项]

配置文件位置
    --global              使用全局配置文件
    --system              使用系统级配置文件
    --local               使用版本库级配置文件
    -f, --file <文件>     使用指定的配置文件
    --blob <blob-id>      read config from given blob object

操作
    --get                 获取值:name [value-regex]
    --get-all             获得所有的值:key [value-regex]
    --get-regexp          根据正则表达式获得值:name-regex [value-regex]
    --replace-all         替换所有匹配的变量:name value [value_regex]
    --add                 添加一个新的变量:name value
    --unset               删除一个变量:name [value-regex]
    --unset-all           删除所有匹配项:name [value-regex]
    --rename-section      重命名小节:old-name new-name
    --remove-section      删除一个小节:name
    -l, --list            列出所有
    -e, --edit            打开一个编辑器
    --get-color <slot>    找到配置的颜色:[默认]
    --get-colorbool <slot>
                          找到颜色设置:[stdout-is-tty]

类型
    --bool                值是 "true" 或 "false"
    --int                 值是十进制数
    --bool-or-int         值是 --bool or --int
    --path                值是一个路径(文件或目录名)

其它
    -z, --null            终止值是NUL字节
    --includes            查询时参照 include 指令递归查找

配置用户信息:

git config --global user.name "lonmar"

git config --global user.email test@123.com

如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息

如果要在某个特定的项目中使用其他名字,只要去掉 --global 选项重新配置即可

git config --list 检查已有的配置信息

查看某个环境变量信息

git config user.name

Git工作流程

  • 克隆 Git 资源作为工作目录。
  • 在克隆的资源上添加或修改文件。
  • 如果其他人修改了,你可以更新资源。
  • 在提交前查看修改。
  • 提交修改。
  • 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。

Git 工作区、暂存区和版本库

工作区:就是你在电脑里能看到的目录。

暂存区:英文叫stage, 或index。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)

版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

图中左侧为工作区,右侧为版本库。在版本库中标记为 "index" 的区域是暂存区(stage, index),标记为 "master" 的是 master 分支所代表的目录树。

Git 创建仓库

创建一个仓库

git init 初始化一个Git仓库

在执行完成 git init 命令后,Git 仓库会生成一个 .git 目录

该目录包含了资源的所有元数据,其他的项目目录保持不变

在这里插入图片描述
指定目录作为Git仓库 git init newrepo

初始化后,会在 newrepo 目录下会出现一个名为 .git 的目录

在这里插入图片描述
将文件纳入版本控制:

$ git add *.c
$ git add README

在这里插入图片描述
以上两个命令只是提交到缓存区,下面一个命令由缓存区提交给仓库

git commit -m '初始化项目版本'

在这里插入图片描述

克隆一个仓库

git clone <repo> <directory>

  • repo:Git 仓库地址
  • directory:本地目录

基本操作

获取与创建项目命令

  • git init
  • git clone [url]

基本快照

Git 的工作就是创建和保存你的项目的快照及与之后的快照进行对比

  • git add

git add 命令可将该文件添加到缓存

  • git status

查看在你上次提交之后是否有修改

  • git diff

执行 git diff 来查看执行 git status 的结果的详细信息

  • git commit

使用 git add 命令将想要快照的内容写入缓存区, 而执行 git commit 将缓存区内容添加到仓库中。

(在这之前设置好名字与邮箱)

  • git reset HEAD

git reset HEAD 命令用于取消已缓存的内容

  • git rm

如果只是简单地从工作目录中手工删除文件,运行 git status 时就会在 Changes not staged for commit 的提示。

要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除,然后提交。可以用以下命令完成此项工作

git rm <file>

如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f

git rm -f <file>

如果把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用 --cached 选项即可

git rm --cached <file>

版本管理

参考 https://www.cnblogs.com/jiqing9006/p/8807319.html

版本回退:

Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。

 git reset --hard HEAD 回到当前版本
 git reset --hard HEAD^ 回到上一个版本

回退到具体的版本号:

git reset --hard [版本号]

在这里插入图片描述

分支管理

创建分支 git branch (branchname)

在这里插入图片描述

切换分支 git checkout (branchname)

合并分支 git merge

列出所有分支 git branch

(*标记的是当前分支)
在这里插入图片描述

删除分支 git branch -d (branchname)

在这里插入图片描述

查看提交历史

  • git log

在这里插入图片描述
在这里插入图片描述

posted @ 2020-07-28 22:00  10nnn4R  阅读(91)  评论(0编辑  收藏