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. 关于字符串在ie浏览器拼接问题

    常用的字符串在ie浏览器拼接不识别的问题,建议不要使用字符串拼接,可直接用jquery添加方便快捷一些

  2. 洛谷P4169 [Violet]天使玩偶/SJY摆棋子

    %%%神仙\(SJY\) 题目大意: 一个二维平面,有两种操作: \(1.\)增加一个点\((x,y)\) \(2.\)询问距离\((x,y)\)曼哈顿最近的一个点有多远 \(n,m\le 300 0 ...

  3. Programming | 获取图像频域并分解为高低频

    1. DCT变换 参考:https://stackoverflow.com/questions/22322427/decomposing-an-image-into-two-frequency-com ...

  4. 奇安信集团笔试题:二叉树的最近公共祖先(leetcode236),杀死进程(leetcode582)

    1. 二叉树最近公共祖先     奇安信集团 2020校招 服务端开发-应用开发方向在线考试 编程题|20分2/2 寻祖问宗 时间限制:C/C++语言 1000MS:其他语言 3000MS 内存限制: ...

  5. 一、SqlServer查询今天的数据-多写法对比性能问题

    -- 目标:查询当天的所有数据 -- 说明:表数据行数:960w --方法一:使用格式化被查询条件与格式化当前时间比对 ),)),) --方法二:使用函数DATEDIFF 比对 --方法三:使用传统比 ...

  6. Windows 防火墙无法更改某些设置错误代码 0x80070422

    Windows 防火墙无法更改某些设置错误代码 0x80070422 解决方法: 1.cmd ->services.msc 按下回车键打开服务 :   2.在服务界面双击打开[Windows F ...

  7. Entity Framework 6 中如何获取 EntityTypeConfiguration 的 Edm 信息?(二)

    接着上一篇 直接贴代码了: using System; using System.Collections.Generic; using System.Data.Entity; using System ...

  8. 【Java面试题】short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?

    昨天去面试,虽然体验不是很好, 但是看到了这个面试题,当时感觉无从下手,所以在这里记录一下. 解决这道题之前,先复习一下Java的基本数据类型转换规则,以便后面对面试题的理解. java的基本数据类型 ...

  9. spring cloud 框架源码 activiti工作流 vue.js html 跨域 前后分离 springboot

    1.代码生成器: [正反双向](单表.主表.明细表.树形表,快速开发利器)freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本.处理类.service等完整模块2. ...

  10. 在centos7 中docker info报错docker bridge-nf-call-iptables is disabled 的解决方法

    在centos7中安装好docker以后,启动成功,运行命令 docker info ,报错: [root@iz2ze2bn5x2wqxdeq65wlpz ~]# docker info Client ...