GIT → 05:Git命令行操作
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命令行操作的更多相关文章
- Mac 下 Git 的基础命令行操作
Mac 下 Git 的基础命令行操作 sudo apt-get install git-core //安装Git 用户配置 git config --global user.name "Yo ...
- 标准Gitlab命令行操作指导
gitlab是一个分布式的版本仓库,总比只是一个本地手动好些,上传你的本地代码后后还能web GUI操作,何乐不为? 贴上刚刚搭建的gitlab,看看git 如何操作标准命令行操作指导 1.命令行操作 ...
- 命令行操作svn和git和git
前几天在写代码的时候电脑突然坏掉,老大交代的任务没完成,非常痛恨自己用svn或者git保存代码,相信很多程序员遇到过,硬盘坏掉,存在硬盘中的代码丢失,无法找回的问题,svn和git可谓程序员界的福音, ...
- windows下使用TortoiseGit代替Git命令行操作
windows下使用TortoiseGit代替Git命令行操作 大家在使用svn的时候,都非常喜欢使用小乌龟,也就是TortoiseSVN:那么git也有小乌龟版本,即TortoiseGit. 1.安 ...
- git 常用命令行操作
git常用命令行操作: 点击 git bash 进入到命令行: git clone https://github.com/wlz1244/qingoo.git //下载一个master分支代码 g ...
- git 工作流中的 Sourcetree 和命令行操作对比
git 工作流操作 1.初始化本地仓库文件夹 终端进入项目文件夹 git init 隐藏文件夹中有 .git 文件夹则初始化成功 2.git 查看仓库状态 这里以新建一个 demo.txt 为例 ① ...
- git 命令行操作(之前整理在有道的笔记)
1. 常用命令 切换分支 git checkout [branch_name] 检出分支 git clone [git_URL] 更新分支 git pull origin [branch_name] ...
- 3.Git 命令行操作
1.Git 命令行操作(本地库操作): 1.1. 创建本地库(本地库初始化): 第一步:首先在D盘建了个名为git空文件夹,命令行中cd到这个文件夹: 第二步:通过git init命令把这个目录变成G ...
- 【Git】命令行操作
Git 命令行操作 1 本地库初始化 git init:初始化本地仓库 效果 注意:.git目录中存放的是本地库相关的子目录和文件,不要删除,也不要胡乱修改. 2 设置签名 形式: 用户名:tom E ...
- Android-Git命令行操作
Git命令行操作,在Mac上使用的话,Mac会自带了Git,直接在终端或者iTerm都可以执行Git命令操作: Git命令行操作,在Windows系统电脑上使用的话,需要安装Git,安装好Git ...
随机推荐
- 二分+2-sat——hdu3062
hdu3622升级版 注意要保留两位小数 /* 给定n对圆心(x,y),要求从每对里找到一个点画圆,不可相交 使得最小半径最大 二分答案,设最小半径为r 然后两两配对一次进行判断,在2-sat上连边即 ...
- springMVC or response redirect https
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> < ...
- linux mysql备份shell
#!/bin/bash # Shell script to backup MySql database # Author: Henry he # Last updated: -- # crontab ...
- 花园【SCOI2017期望DP入门题】
题目描述: 小 A 的花园的长和宽分别是 L,H .小 A 喜欢在花园里做游戏.每次做游戏的时候,他都先把花园均匀分割成 L×H 个小方块,每个方块的长和宽都是 1 .然后,小 A 会从花园的西北角的 ...
- PAT甲级——1072 Gas Station
A gas station has to be built at such a location that the minimum distance between the station and a ...
- 解析Request和Response
简介: Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象. request和response对象即然代表请求和响应 ...
- Python学习day03 - Python基础(1)
1. 执行Python程序的两种方式 (1)交互式(Jupyter) 优点:运行一句执行一句 缺点:关闭即消失# (2)命令行式(pycharm) 优点:可以一直保存 缺点:全部写完才能调试bug虽然 ...
- <每日一题>题目25:快速排序
''' 快速排序:分而治之,一分为二进行排序 ''' import cProfile import random def quick_sort(nums): if len(nums) <= 1: ...
- WPF MVVM模式不用Prism
上一个例子使用了Prism.这个例子不用Prism.用自己封装的库LiuxhCSDLL,其实也差不多. 一.程序结构 二.界面代码以及界面效果 <Window x:Class="WPF ...
- 工业派-配置Intel神经计算棒二代(NCS2)
最近两天在工业派ubuntu16.04上配置了Intel神经计算棒二代——Intel Neural Compute Stick,配置过程之艰辛我都不想说了,实在是太折磨人.不过历尽千辛万苦,总算让计算 ...