git的使用基础
/*游戏或者运动才能让我短暂的忘记心痛,现如今感觉学习比游戏和运动还重要——曾少锋*/
在Git-Bash中配置自己的名字和Email:
git config --global user.name "your name"
git config --global user.email "email@example.com"
仓库:repository(英文单词,没别的意思)
创建一个仓库:mkdir fengshao
切换目录:cd
退回上一目录:cd..
查看仓库路径:pwd
将目录变成git可以管理的仓库:git init
查看目录隐藏文件:ls -ah

你可以下载一个notepad++编辑器(个人觉得Gvim编辑器更好),在里面编译一个first1.txt,
放在你之前建立的仓库之中。

再利用git add first1.txt将文件添加到仓库中,在利用git commit -m “提交内容”将文件
提交到仓库。(提交内容也可以写修改内容,方便以后查找)
当你修改了文件内容,添加到了文件内:
查看当前的状态:git status (这里说明first1.txt被修改了)

查看上次修改的内容:git diff first1.txt (修改但没有提交给git才能查看,否则没有任何显示)


再来介绍一下git log,这个命令使用来显示从最近到最远的提交日志。

如果你觉得上面这些信息太多了,那么还可以减少信息量,git log --pretty=oneline这样的命令,
出现的信息量就会减少了。
假设想要回到上个版本,那我们就可以输入git reset --hard HEAD^,如果你想到上上个版本,就
可以输入git reset --hard HEAD^^,意思就是你想回到那个版本,你就在HEAD后面加上几个^就行了。
你还可以利用cat first1.txt来查看当前你查看版本的内容。当然你的编辑器里面的内容也会随之改变。


时光可以倒流,那么你也可以回到现实世界。但前提是你要记住你之前的commit。然后利用
git reset --hard commit就可以回到现实了。(commit只是一串编号,就如同门牌号)。

当忘了commit时那岂不是永远也回到到现实了。不不不,方法还是可以查找的,你只要记得有
git reflog这个命令就行了,是用来查看命令历史的。

工作区和暂存区这两个有很大的区别,当看到这一步的时候,大家都理解编辑器了,所谓的编辑器
就是工作区,暂存区就是下面这张图片的stage,它是通过git add将工作区的内容放到stage中,如
果这时你还到修改工作区的内容时,但没有git add到暂存区中,然后你git commit来提交上去的内容
将是你存放在暂存区的内容,而不是你这次修改的内容。如果你不信的话,你可以跟着去做实验。
最后通过git diff HEAD -- 《file》来查看当前提交给git内容与编辑器内容的区别。


如果在给上级写文件时,难免会有写错的地方,写错不可怕,只要没有提交上去就都可以撤回的,
当你在工作区写错了的时候,你可以用git checkout -- 《file》来撤回到上次保存的地方。如果你
把文件添加到了暂存区时,那就要先把文件退回到工作区,利用git reset HEAD 《file》命令,在
在工作区进行撤回。

文件也可以删除,使用的命令是rm 《file》,就可以删掉文件file,不管是在暂存区还是提交上去
了都可以使用,也包括工作区,都可以删掉文件。有删除自然也就有了复原,但复原这个实验我
尝试了好几次,除了工作区,其它都可以,命令为git checkout -- 《file》。经过多次实践,但偶尔
在工作区也成功了,还没有找出原因,当概率极少。

git的使用基础的更多相关文章
- Git的常见基础操作命令
Git的常见基础操作命令 1安装初始化 1.1安装git本地安装Windows版本 下载地址: https://git-scm.com/downloads/ 1.2初始化Git用户信息配置 配置git ...
- 3分钟学会git命令的基础使用
前言废话 下面我们就来看看gitlab服务器搭建好(http://www.cnblogs.com/JeremyWYL/p/8258368.html) 之后,git命令的基础使用,基本上就能满足我们平时 ...
- Git操作(基础篇)
Git操作(基础篇) Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.Git的读音为/gɪt/.Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常 ...
- GIT之二 基础篇(1)
GIT基础 取得项目的 Git 仓库 有两种取得 Git 项目仓库的方法.第一种是在现存的目录下,通过导入所有文件来创建新的 Git 仓库.第二种是从已有的 Git 仓库克隆出一个新的镜像仓库来. 在 ...
- Git命令汇总(基础篇)
自己用Git有一段时间了,随着项目越来越多,功能分支也随之增加,从简单的基础命令到随心所欲,需要自己不断地去尝试总结,下面来分享一下我的Git使用总结. 本章基础篇主要讲解一些Git代码提交流程和Gi ...
- Windows 下安装Git工具及基础使用
Git简介 git是很好一个工具使用,可以执行liunx命令,有git环境后windows系统就可以进行shell命令操作,就可以添加其他liunx辅助软件进行执行,git也代码库管理工具,无论是上传 ...
- 【git体验】git原理及基础
原理:分布式版本号控制系统像 Git,Mercurial,Bazaar 以及 Darcs 等,client并不仅仅提取最新版本号 的文件快照,而是把原始的代码仓库完整地镜像下来. 这么一来.不论什么一 ...
- Git学习笔记----基础运用
安装Git Windows: 进入官网下载或百度网盘下载 Git(V2.23_x64) 提取码:uf2x Ubuntu: sudo apt-get -install git 安装完成之后打开git命令 ...
- 【Git 系列】基础知识全集
Git 是一种分布式版本控制系统,它可以不受网络连接的限制,加上其它众多优点,目前已经成为程序开发人员做项目版本管理时的首选,非开发人员也可以用 Git 来做自己的文档版本管理工具. 一.Git 基础 ...
- Git Pro - (1) 基础
近乎所有操作都可本地执行 在Git中的绝大多数操作都只需要访问本地文件和资源,不用连网. 三种状态 对于任何一个文件,在 Git 内都只有三 种状态:已提交(committed),已修改(modifi ...
随机推荐
- Linux更改主机名
1.临时 # hostname newhostname 2.修改/etc/hostname文件,需重启 # vim /etc/hostname 3.查看 # hostname Ubuntu18 # h ...
- 已使用 163 邮箱测试通过,且支持 SSL 连接。 发送邮件
示例:Jack 发送一封邮件给 Rose. public class SendMail { public static void main(String[] args) { b ...
- angular5 directive和component的区别
指令分为三类,组件,属性指令和结构性指令 组件(Component directive):UI组件,继承于Directive: 属性指令(Attribute directive):改变组件的样式: 结 ...
- Unity寻路的动态烘焙
随着Unity5.6的推出,我们终于迎来了NavMesh的动态烘培,我们期待已久的功能终于来了,不用再研究A*算法了,话说改进的网格寻路更加方便高效. 网址:https://blog.csdn.net ...
- [Java学习] Java instanceof 运算符
多态性带来了一个问题,就是如何判断一个变量所实际引用的对象的类型 . C++使用runtime-type information(RTTI),Java 使用 instanceof 操作符. insta ...
- LeetCode--119--杨辉三角II
问题描述: 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 3 输出: [1,3,3,1] 进阶: 你可以优化你 ...
- Confluence 6 启用嵌套用户组
一些目录服务器能够允许你在一个组中定义另外一个组.在这种结构下的用户组称为用户组嵌套.嵌套组的配置能够让子用户组继承上级用户组的权限,使系统的权限配置变得简单. 这个页面描述了 Confluence ...
- Ubuntu 18.04 install JDK8.201
sudo add-apt-repository ppa:webupd8team/java Press Enter to continue. sudo apt update sudo apt insta ...
- CF-500div2-A/B/C
A. Piles With Stones time limit per test 1 second memory limit per test 256 megabytes input standard ...
- 供应商API补充(详解EBS接口开发之供应商导入)(转)
原文地址 供应商导入的API补充(详解EBS接口开发之供应商导入) --供应商 --创建 AP_VENDOR_PUB_PKG.Create_Vendor ( p_api_version IN NUM ...