5.1 打开命令行窗口

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

5.2 初始化Git本地库

命令: git init
效果:

注意: .git 目录中存放的是本地库相关核心配置文件,也不要随意删除与修改

  • .git 目录仓库目录说明:
  • hooks目录:脚本文件的目录。
  • info目录:保存了不希望在 .gitignore 文件中管理的忽略模式的全局可执行文件
  • logs目录:日志目录
  • objects目录:存储所有数据内容
  • refs目录:存储指向数据(分支)的提交对象的指针
  • config文件包含了项目特有的配置选项
  • description文件仅供 GitWeb 程序使用
  • HEAD文件指向当前分支

5.3 设置签名信息

  • 作用:只为区分不同开发人员的身份信息
  • 格式:

用户名:mengxuegu
Email: mengxuegu@163.com

  • 注意:

这里的签名信息和登录远程库的帐号和密码没有任何关系(码云,Github)

  • 命令:
  • 项目级别/仓库级别:仅在当前目录的本地Git仓库范围内有效
    • git config user.name mengxuegu_pro
    • git config user.email mengxuegu888@163.com
    • 签名信息保存位置: ./.git/config 文件中

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

    • git config --global user.name mengxuegu_glo
    • git config --global user.email mengxuegu666@163.com
    • 签名信息保存位置: ~/.gitconfig

  • 级别优先级:

    • 就近原则: 项目级别优先于 系统用户级别
    • 如果只有 系统用户级别 的签名,则采用 系统用户级别 的签名信息
    • 二者都不存在是不允许的。

5.4 Git 基本操作

5.4.1 查看状态

  • 用于查看工作区、暂存区的状态
$ git status
On branch master # 默认在master(主干)分支上
No commits yet # 当前没有任何的提交
nothing to commit (create/copy files and use "git add" to track)
# 没有什么需要提交的(创建/复制文件,使用“git add”命令可追踪,也就是用git去管理文件)
  •   根据状态提示,往仓库中创建一个demo01.txt 文件, 文件保存一些内容(按i 插入内容, 按 :wq 保存并退出, 按 ':q!' 不保存强制退出):
$ vim demo01.txt
  • 再git status 查看状态提示Untracked files (有未追踪文件):

5.4.2 添加到暂存区

  • 将工作区的“新建/修改”添加到暂存区

    • 命令: git add <file name>

  • 恢复,不放到暂存区

    • 命令: git rm --cached <file name>

5.4.3 提交到本地库

将暂存区的内容提交到本地库
命令: git commit [-m "提交说明信息"] <file name>
修改demo1.txt 文件内容,再查看状态:

5.4.4 查看版本历史记录

显示最详细的日志信息
命令: git log
如果内容太长, 多屏显示控制方式:
空格键: 向下查看
b : 向上查看
q : 退出查看
以漂亮的格式显示:即每条日志只显示一行
命令: git log --pretty=oneline
简约的格式显示:
命令: git log --oneline
显示回滚版本步数[推荐]:
命令: git reflog
HEAD@{回滚对应版本,底层操作需要移动多少步}

5.4.5 前进后退版本

通过HEAD指针来移动回滚版本
基于索引值操作[推荐方式]
命令: git reset --hard <局部索引值>
举例: git reset --hard 64d3d2a
使用^ (异或)符号:只能后退
命令: git reset --hard HEAD^
注:一个 ^ 表示后退一步,n 个表示后退 n 步
使用~ 符号:只能后退
命令: git reset --hard HEAD~n
注:n指定步数,表示后退 n 步

5.4.6 删除文件并恢复

前提:删除文件前,此文件需要已经提交过本地库,才可恢复
删除:rm 文件名.txt
命令: git reset --hard <历史记录索引值>
删除操作已经提交到本地库:指针位置指向历史记录
删除操作尚未提交到本地库:无法恢复

5.4.7 对比文件差异

将工作区中的文件和暂存区进行比较
命令: git diff <文件名>
举例:向apply.txt文件添加了两行,使用git diff apple.txt 查看
将工作区中的文件和本地库历史记录比较
命令: git diff <本地库中历史版本> <文件名>
举例:不带文件名比较多个文件__

GIT → 05:Git命令行操作的更多相关文章

  1. Mac 下 Git 的基础命令行操作

    Mac 下 Git 的基础命令行操作 sudo apt-get install git-core //安装Git 用户配置 git config --global user.name "Yo ...

  2. 标准Gitlab命令行操作指导

    gitlab是一个分布式的版本仓库,总比只是一个本地手动好些,上传你的本地代码后后还能web GUI操作,何乐不为? 贴上刚刚搭建的gitlab,看看git 如何操作标准命令行操作指导 1.命令行操作 ...

  3. 命令行操作svn和git和git

    前几天在写代码的时候电脑突然坏掉,老大交代的任务没完成,非常痛恨自己用svn或者git保存代码,相信很多程序员遇到过,硬盘坏掉,存在硬盘中的代码丢失,无法找回的问题,svn和git可谓程序员界的福音, ...

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

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

  5. git 常用命令行操作

    git常用命令行操作: 点击 git bash 进入到命令行: git clone https://github.com/wlz1244/qingoo.git   //下载一个master分支代码 g ...

  6. git 工作流中的 Sourcetree 和命令行操作对比

    git 工作流操作 1.初始化本地仓库文件夹 终端进入项目文件夹 git init 隐藏文件夹中有 .git 文件夹则初始化成功 2.git 查看仓库状态 这里以新建一个 demo.txt 为例 ① ...

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

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

  8. 3.Git 命令行操作

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

  9. 【Git】命令行操作

    Git 命令行操作 1 本地库初始化 git init:初始化本地仓库 效果 注意:.git目录中存放的是本地库相关的子目录和文件,不要删除,也不要胡乱修改. 2 设置签名 形式: 用户名:tom E ...

  10. Android-Git命令行操作

    Git命令行操作,在Mac上使用的话,Mac会自带了Git,直接在终端或者iTerm都可以执行Git命令操作:    Git命令行操作,在Windows系统电脑上使用的话,需要安装Git,安装好Git ...

随机推荐

  1. 洛谷P4027 [NOI2007]货币兑换

    P4027 [NOI2007]货币兑换 算法:dp+斜率优化 题面十分冗长,题意大概是有一种金券每天价值会有变化,你可以在某些时间点买入或卖出所有的金券,问最大收益 根据题意,很容易列出朴素的状态转移 ...

  2. spss-数据抽取-拆分与合并

    spss-数据抽取-拆分与合并 数据抽取也成为数据拆分,是指保留.抽取原数据表中某些字段.记录的部分信息,形成一个新字段.新纪录.分为:字段拆分和随机抽样两种方法. 一:字段拆分 如何提取" ...

  3. HDU 1069 Monkey and Banana (动态规划)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1069 简单记录一下 思路:把长方体的各种摆法都存到数组里面,然后按照长宽排序,再dp即可 转移方程 d ...

  4. Axure中表格使用的技巧

    对于新手来说,用Axure做一个表格是一件麻烦的事情.本文教你如何快速学会Axure表格的基础应用. (1)Axure制作基本表格的使用 可以使用“线框图”中的“表格”控件来制作一些简单的表格,同时A ...

  5. 服务器IP配置功能实现小结

    1. 服务器网卡配置文件 /etc/sysconfig/network/ifcfg-***(eth0) linux-f1s9:/etc/sysconfig/network # cat ifcfg-et ...

  6. hive设置列头(永久模式)

    到hive目录下的hive-site <property> <name>hive.cli.print.header</name> <value>true ...

  7. API 练习 第一篇

    练习API   CreateSemaphoreCreateEvent ReleaseSemapWaitForSingleObject  CloseHandleInitializeCriticalSec ...

  8. 【codeforces 499C】Crazy Town

    [题目链接]:http://codeforces.com/problemset/problem/499/C [题意] 一个平面,被n条直线分成若干个块; 你在其中的某一块,然后你想要要到的终点在另外一 ...

  9. volatile和指令重排序

    volatile 的作用 1 精致指令重排序 2 多线程访问同一个变量的时候,每次都是取最新的,而不会使用当前cpu缓存的那一份.

  10. RSA加密算法在WEB中的应用

    加密算法有很多,如不可逆的摘要算法MD5.SHA(安全哈希算法),可逆的Base64编码,对称加密算法DES.AES,还有非对称加密算法DH.RSA等.那是不是说明我们可以使用任何一种加密算法就能保证 ...