1. 本地库初始化

进入指定目录,如:D:\gitSpace\OA

右键-->Git Bash Here,执行命令:

git init

效果如下:

#查看.git目录
ls -la
# 进入.git目录
cd .git
# 查看目录下的文件
ls -l

注意:.git 目录中存放的是本地库相关的子目录和文件,不要删除,也不要胡乱修改。 

2. 设置签名

作用:区分不同开发人员的身份

注意:这里设置的签名和登录远程库(代码托管中心)的账号、密码没有任何关系。

(1) 项目级别/仓库级别:仅在当前本地库范围内有效

git config user.name linhw
git config user.email panda@126.com

信息保存在:.git/config下

(2) 系统用户级别:登录当前操作系统的用户范围

git config --global user.name linhw
git config --global user.email panda@126.com
信息保存位置:~/.gitconfig 文件
 
级别优先级:
  • 就近原则:项目级别优先于系统用户级别,二者都有时采用项目级别的签名
  • 如果只有系统用户级别的签名,就以系统用户级别的签名为准
  • 二者都没有不允许
3. 基本操作
(1) 状态查看
# 查看工作区、暂存区状态
git status

(2) 添加
# 将工作区的"新建/修改"添加到暂存区
# 只有新增的文件需要添加到版本控制中,以后进行修改的可以直接提交
git add [file name]

(3) 提交

# 将暂存区的内容提交到本地库
git commit -m "commit message" [file name]

(4) 查看历史记录

创建一个test.txt文件,并提交

touch test.txt
git add test.txt
# -m 提交备注:commit message,可以任意
git commit -m "commit message" test.txt

查看历史记录

# 第一种查看方式
git log
多屏显示控制方式:
  • 空格向下翻页
  • b 向上翻页
  • q 退出
# 第二种查看方式
git log --pretty=oneline

# 第三种查看方式
git log --oneline

# 第四种查看方式
git reflog

HEAD@{移动到当前版本需要多少步}

(5) 前进后退

# 基于索引值操作[推荐]
# git reset --hard [局部索引值]
git reset --hard 193120d # 使用^符号:只能后退
# 注:一个^表示后退一步,n 个表示后退 n 步
git reset --hard HEAD^ # 使用~符号:只能后退
# 注:表示后退 n 步
git reset --hard HEAD~n

(6) reset 命令的三个参数对比

--soft 参数:仅仅在本地库移动 HEAD 指针
--mixed 参数:在本地库移动 HEAD 指针、重置暂存区
--hard 参数:在本地库移动 HEAD 指针、重置暂存区、重置工作区
 
(7) 删除文件并找回
删除文件:
# 删除文件
rm test.txt
# 添加到暂存区
giv add test.txt
# 提交到本地库
git commit -m "remove test.txt" test.txt
找回文件:
前提:删除前,文件存在时的状态提交到了本地库。
命令:git reset --hard [指针位置]
  • 删除操作已经提交到本地库:指针位置指向历史记录
  • 删除操作尚未提交到本地库(即在暂存区):指针位置使用 HEAD
(8) 比较文件差异
git diff [文件名]
  将工作区中的文件和暂存区进行比较 
git diff [本地库中历史版本] [文件名]
  将工作区中的文件和本地库历史记录比较
不带文件名比较多个文件

Git命令行操作(三)的更多相关文章

  1. windows下使用TortoiseGit代替Git命令行操作

    windows下使用TortoiseGit代替Git命令行操作 大家在使用svn的时候,都非常喜欢使用小乌龟,也就是TortoiseSVN:那么git也有小乌龟版本,即TortoiseGit. 1.安 ...

  2. 3.Git 命令行操作

    1.Git 命令行操作(本地库操作): 1.1. 创建本地库(本地库初始化): 第一步:首先在D盘建了个名为git空文件夹,命令行中cd到这个文件夹: 第二步:通过git init命令把这个目录变成G ...

  3. git 命令行操作(之前整理在有道的笔记)

    1. 常用命令 切换分支 git checkout [branch_name] 检出分支 git clone [git_URL] 更新分支 git pull origin [branch_name] ...

  4. GIT → 05:Git命令行操作

    5.1 打开命令行窗口 安装Git后,在资源管理器的空白处,单击鼠标右键打开窗口,点击 Git Bash Here ,打开Git命令行窗口,在窗口中可直接使用Linux命令操作: 5.2 初始化Git ...

  5. git 命令行操作

    Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目 这里说一下在命令行对git进行操作 git init [在本地初始化一个git库] //当你的git服务器里面已经有文 ...

  6. git命令行操作

    从本地上传代码到仓库(假设已经建好仓库): 1.初始化: git init 2.将所有文件加入缓存区: git add * 3.提交当前工作空间的修改内容: git commit -m 'commit ...

  7. git命令行操作详解

    目录 1.常用操作 1.1 新建代码库 1.2 配置 1.3 remote管理 1.4 添加和撤销操作 1.5 代码提交 1.6 分支操作 1.7 查看信息 1.8 pull操作 1.9 push操作 ...

  8. 2. git命令行操作之本地库操作

    2.1 本地库初始化 git init 命令 用于创建一个空的Git本地仓库或重新初始化一个现有本地仓库 注:.git目录中存放的是本地库相关的子目录和文件,不要删除也不要随意修改 git confi ...

  9. git 命令行(三)-删除文件

    在Git中,删除也是一个修改操作,我们实战一下,有一个多余的文件:src/common/Util2.js 我们需要删除这个文件, 一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用 rm命令 ...

随机推荐

  1. Django cache (缓存)

    五种配置 1.开发调试 # 此为开始调试用,实际内部不做任何操作 # 配置: CACHES = { 'default': { 'BACKEND': 'django.core.cache.backend ...

  2. 用 FFLIB 实现 Apex 企业设计模式

    Apex 企业设计模式将应用分为服务层.模型层.选择逻辑层.工作单元几个部分.FFLIB 是一个开源的 Apex 框架,可以帮助开发者快速建立相关的功能. FFLIB 的安装 FFLIB 可以直接部署 ...

  3. hex2pcap

    #include <stdlib.h> #include <stdio.h> #include <string.h> typedef struct { unsign ...

  4. (二十四)golang--错误处理

    在默认情况下,遇到错误时,程序会崩溃: 在发生错误时,我们可以捕获错误,使程序可以继续运行,并抛出错误提示: 错误处理: (1)Go语言追求简洁优雅,所以不支持传统的try catch finally ...

  5. 【mysql报错】MySQL host is blocked because of many connection errors; 解决方法

    MySQL host is blocked because of many connection errors; 报错 环境 操作系统:Linux 数据库:mysql5.7.27 错误提示 jHost ...

  6. STS 重写父类方法的操作

    本来这种东西真的没什么好写的,但是很多时候真的是要用到的,不知道的话自己手动敲,会累死人的.所以记录在这里,自己的笔记,有需要的赶紧拿去,省的手动录入那么辛苦. 在代码窗口点击右键,依次选择“Sour ...

  7. C++:Overload

    重载 函数签名是指函数的参数个数,参数类型以及参数的顺序.重载的定义是:在同一作用域内函数签名不同但函数名相同的函数互为重载. // 以下几个函数互为重载 void print(); void pri ...

  8. 我的周记13——”离开,是为了更好的回来"

    一点分享 生存是一种即时策略游戏,所有的人都是这场游戏的玩家.财务自由了,就是游戏赢家. 具体来说,又分成两种游戏:财富游戏和地位游戏.财富游戏的玩家追求更多的财富,地位游戏的玩家追求更高的地位. 古 ...

  9. css隐藏页面元素的方法

    用css隐藏页面元素有许多种方法. 第一种方法[opacity: 0;] opacity属性通常用于设置一个元素的透明度,从另一个角度来看,如果透明度为0,也就从视觉上隐藏了该元素. 这个属性不是为改 ...

  10. ssh框架被淘汰的原因

    SSH就是Struts2+Spring+Hibernate. 三个组件的简单介绍 Struts2:通俗的讲就是为了完成MVC模型中的C的功能,也就是编写具体的业务逻辑的地方.从他的设计上来看就是请求到 ...