【Git】笔记2

来源:廖雪峰

安装git(ubuntu)

sudo apt-get install git

创建版本库(repository)  在想生成版本库的文件夹下输入:

git init

指定用户名和邮箱

git config --global user.email "[email protected]"
git config --global user.name "kzy"

添加文件到版本库, 假定有新文件readme.txt

git add readme.txt
git commit -m "wrote a readme file"

其中-m后面是对于此次添加的说明。

查看文件的状态,可以查看是否有文件被修改

git status

查看哪些地方被修改了

git diff

查看历史修改记录:

git log

回退到历史版本, 当前版本是HEAD,上一个版本是HEAD^,上上个版本是HEAD^^,之前100个版本是HEAD~100

git reset --hard HEAD^

重新恢复到未来新版本,先查找想恢复版本的版本号

git reflog

更新版本,版本号给出前几位即可

git reset --hard 查找到的版本号

git有工作区,版本库,暂存区的概念。工作区是电脑中能够看到的目录,版本库是.git文件,其中stage是暂存区。

前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的:

第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。

可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。

丢弃工作区的修改

git checkout -- filename

将暂存区的修改退回到工作区

git reset HEAD filename

在git中删除文件

rm filename
git rm filename
git commit -m "remove"

恢复错误删除的文件,前提是还未提交到git

rm filename
git checkout -- filename

git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

时间: 2024-10-18 09:00:08

【Git】笔记2的相关文章

git笔记:通过给grunt-inline打tag看tag操作

晚上review了下grunt-inline的issues,看到有个兄弟pull request,修正了0.3.0版本的一个bug.于是就merge了下,然后发布了0.3.1版本(这里). npm publish后,突然想到一个问题,发布了这么多个版本了,但好像都没有打过tag,这个不利于版本回溯以及bug trace.svn版本管理里有tag的概念,git里八九不离十也有,虽然还没用过.就简单百度了下,打完tag后顺便做下笔记: 查看tag git tag 比如我在grunt-inline的项

git笔记之多账户的使用

一:加载wifi驱动模块 在hardware/libhardware_legacy/wifi/wifi.c调用函数 insmod(DRIVER_MODULE_PATH, DRIVER_MODULE_ARG) 其中 DRIVER_MODULE_PATH = /system/lib/dhd.ko DRIVER_MODULE_ARG  = "firmware_path=/etc/wifi/40181/fw_bcm40181a2.bin nvram_path=/etc/wifi/40181/nvram.

git笔记之eclipse使用github远程仓库进行版本管理

这里记录一下eclipse开发工具中git的使用说明. 环境:centOS,eclipse-jee-kepler-SR2-linux-gtk-x86_64.tar.gz eclipse的使用需要依赖Java环境,这边CentOS系统里面已经安装好了JDK: 不能使用open-jdk,此版本会出现不明异常. 1.eclipse安装egit插件: eclipse里面,help --> Eclipse Marketplace 搜索egit 按照eclipse默认要求一步一步安装即可. 2.New Pr

git笔记之安装使用

git是什么? 简单介绍一下,Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.Git是目前世界上最先进的分布式版本控制系统,没有传说中的之一. Git诞生? Git 是 Linus为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件.在过去一段时间里,Linux的开发并没有使用到版本控制,天呐!Linux这么牛逼的系统曾经在开发过程中居然没有使用到版本控制,这个放眼于现在这个阶段觉得很不可思议,当时确实是这样的,世界各地的志愿者把源代码文件

GIT笔记:将项目发布到GITHUB

GIT笔记:将项目发布到GITHUB 本机配置 1.在项目目录初始化GIT $ git init 2.用命令git add告诉Git,把文件添加到仓库 $ git add . // 这里是所有文件,用了(.) 3.用git commit把项目提交到仓库 -m 必填 $ git commit -m 'All Code' [master(根提交) 11e6a9a] All Code 62 files changed, 3680 insertions(+) create mode 100644 .gi

每天学点Git -- 笔记(四)

现在,我们考虑一种情况,当你修改了文件,但是此时你想撤销它,怎么办?下面,我们用代码试验一下: (1)在readme.txt中添加新的一行: $ cat readme.txt Git is a distributed version control system. Git is free software distributed under the GPL. Git has a mutable index called stage. Git tracks changes of files. My

【Git笔记】"error:0D0890A1:asn1 encoding routines:ASN1_verify:unknown message digest algorithm"的解决方法

       备注:本笔记所描述的问题的前提是机器上已安装成功git且通过配置ca证书支持以https方式获取远程仓库,如果使用git时碰到这篇文章描述的问题,那么按那篇文章给出的办法解决即可. 最近从github clone repo时,git clone命令报错如下(以vim代码补全插件youcompleteme为例): $ git clone https://github.com/Valloric/YouCompleteMe.git Cloning into 'YouCompleteMe'

版本控制之道 — 使用Git 笔记

第一次看这本书,是在两年以前了,最近又看了一遍,发现好多东西已经忘记了,另外,在最近两年的工作中,有些很有用的命令我居然一次都没用过, 所以,为以后查阅方便和更有效率的工作,写一篇笔记吧. 一.概述 版本库和工作目录树: 1.使用Git相关命令初始化版本库,即生成".git"目录,于是,".git"目录的父目录就是工作目录树 2.克隆(clone)一个已有的版本库,也就连带创建了工作目录树 Git安装完成之后,配置相关参数: --global参数代表配置的是全局参数

Git笔记

1.版本控制系统 VCS - Version Control System 版本控制是一种记录一个或若干文件内容变化,以便将来查看特定版本修订情况的系统. 记录文件所有的历史变化 随时可恢复到任何一个历史状态 多人协作开发或修改 错误恢复 多功能并行开发 2.Git分布式版本控制系统 Git是最初开发是为了取代 BitKeeper ,由 Linux 创始人 Linus Torvalds 开发,作为 Linux 内核代码管理系统使用.

android studio的git笔记

git公钥修改(公钥在c盘user下面的.ssh/id_rsa.pub里):我修改用的是:gitGUI工具(http://www.cnblogs.com/banzhuan/p/6544951.html) 命令是: ssh-keygen -t rsa -C "[email protected]"     //注册github的邮箱 说一下:默认是不用修改的(),直接把公钥弄到github上新建一个公钥就可以了(在setting/SSH and GPG keys,然后new一个,用.ssh