git 基础二

××××××××××××××版本回退××××××××××××××××
每一次git commit 就把文件的当前状态存储下来,这称为快照;
方便回退到不同的版本状态;

git log 
查看版本库不同的版本,日志信息

git log --pretty=oneline
简化日志信息
返回信息结构:
commit的id号(版本号) commit时阐释

git reflog
比上两种命令多要好用,同样是返回版本库不同版本的信息
返回信息结构:
简化版本号 [email protected]{编号} 操作类型:该操作时的信息

注意:操作类型,一般是commit,reset(退回到某个版本库的命令)

注意:HEAD和简化版本号相同,都是版本号,形式不同而已

注意:此命令和git log 不同,在退回到某个版本时,
git log 不会显示全部的日志信息,显示到当前版本位置;

git reflog 会记录每一次

回退到某个版本
git reset --hard 版本号
或者
git reset --hard [email protected]{编号} ------- 通过git reflog 查看

版本号通过git log;git reflog;查看

注意:理解关键字HEAD,相当于指针,指向不同的版本库所在的存储位置

版本如何方便的回退到最新版本位置?
1.第一步,通过git reflog查看
2.第二步,通过git reset --hard 版本号 回到指定版本

如何查看当前所在的版本?
1. 第一种方法:
通过 git log 方式,只会显示从最初的版本到目前版本的日志

2. 第二种方法:
git reset --hard HEAD
HEAD是指针,表示当前所处的版本
××××××××××××××××××××××××××××××××××

修改撤销

1. 撤销暂存区中的修改
git reset HEAD 文件名
这是暂存区没有了该文件,该文件回到了工作区

注意:git reset不仅可以版本回退,还可以撤销暂存区中的修改
HEAD表示最新版本

2. git checkout --文件名
2.1 如果文件在工作区,即将修改撤销,回到最新版本状态
这种情况,直接打开文件修改即可
2.2 文件在暂存区,没什么变化

注意:
即使文件在暂存区也不一定撤销所有的修改,这是可以在工作区再次打开该文件,
修改后,再次add,即可;这是暂存区的该文件是刚刚更改的文件

**********************************
删除文件

*********************************
远程仓库

在服务器中建立仓库,各个客户端可以clone仓库到本地;
git本地仓库 与 github仓库 传输需要ssh加密

本地仓库与github仓库交互,为何要配置ssh文件?
客户端与github之间的通信遵循ssh协议,所以需要在客户端,服务器端设置
1.在git本地设置ssh秘钥
2.在github中将git本地设置的秘钥填写在相应的设置中
这样,github就知道在与哪个用户交互

别人可以克隆你的仓库,但是无法提交修改等;即只读不写

在本地设置git的ssh文件
1.设置ssh key
在home/xubiao目录下查看是否存在.ssh文件
【.ssh表示该文件是隐藏的,在显示时,需要使用ls -a】

在.ssh目录下是否有id_rsa id_rsa.pub文件

如果不存在,创建这两个文件,这是存储秘钥的文件
创建语句: ssh-keygen -t rsa -C 邮箱

一直下一步就可以,不需要输入任何东西;
命令语句在.ssh目录下输入,这是在.ssh目录下生成以上两个文件

2. 将id_rsa.pub中的秘钥填入github中
在github中填写秘钥后,要验证github密码

连接远程仓库?
前提:必须配置ssh

1.远程仓库存在,直接在客户端克隆
git clone 远程仓库地址

此时客户端克隆的仓库已经和远程仓库建立了联系;
提交时,可以直接执行以下语句:
git push -u origin master
-u表示首次提交时,客户端master分支与远程master分支合并

2.在本地创建仓库,服务器中是个空仓库
首先,本地仓库,远程仓库建立联系
git remote add origin 远程仓库地址

其次,提交
git push -u origin master

在于远程仓库建立联系时,有两种方式:
1.通过ssh协议的地址 2.通过https协议的地址
ssh协议方式在提及时不需要输入github的用户名/密码

注意:
不管本地仓库是克隆远程仓库,还是新建本地仓库然后和远程仓库建立连接,
只要是通过ssh协议,在提交时,就不需要输入github的账号/密码
通过https协议,需要输入github的账号/密码

与远程仓库交互有两中协议:https,ssh
建议使用ssh,速度快

时间: 2024-11-07 07:50:56

git 基础二的相关文章

【git学习二】git基础之git管理本地项目

1.背景 git基础打算分两部分来说,一部分是对于本地项目的管理,第二部分是对于远程代码仓库的操作.git执行本地项目管理包括对于相关文件的追踪,暂存区的比较分析,提交,撤销等功能. 2.本地项目管理 首先mkdir一个文件夹,叫做GitTestFile,然后执行下面代码,创建git的管理配置 git init 接着加入如下代码,git add . ,把项目加入跟踪队列 git add . 可以用git status查看状态 加入readme文件,vim readme.txt .输入git st

Python基础二:pycharm的安装及简单使用,while循环,格式化输出,运算符, 编码的初识,git

Python基础二: pycharm的安装及简单使用,while循环,格式化输出,运算符, 编码的初识,git 1.pycharm的安装及简单使用 Tab / Shift + Tab 缩进.不缩进当前行 (先选中代码) Shift + 滚轮 放大缩小代码 Ctrl + ? 注释.解注(先选中代码) Ctrl + d 复制上一行代码 Ctrl + z 撤销 Ctrl + Shift + F10 RUN Ctrl + 左键---->点击 int,str 等可查看源码 2.while 循环(重点) w

Gi之(二)Git基础命令

三个工作区域 使用Git之前,首先要弄清Git的三个管理区域,有助于理解Git的运行原理,以及每个Git命令对文件造成的影响. 对于任何一个文件,在本地的Git内部都有三种状态: l   已修改(modified) 表示修改了某个文件,但还没有提交保存.包括新增.删除了一个文件,也属于已修改状态的一种. l   已暂存(staged) 表示把已修改的文件放到了暂存区,也就是放到了下次提交时的清单中. l   已提交(committed) 表示该文件已经被安全地保存在本地数据库中了. 三种状态对应

Git基础知识(二)

前言 本篇是Git基础知识(一)的延续,由于篇幅原因,分成两篇. 我们重新建立一个文件夹,执行git init. 添加一个有三行aaaaa内容的git.txt文件,并commit. 分支 截止目前,我们都是在一个叫做master的分支上工作.Git允许我们创建分支去做一些其他的事儿,而不影响到你的master分支. 1. branch branch命令可以查看分支.创建分支以及删除分支. a. 查看分支 git branch 可以看到我们当前只有一个分支master,也叫主分支,*号代表当前所在

Git详解之二 Git基础

来自:http://www.open-open.com/lib/view/open1328069733264.html Git 基础 读完本章你就能上手使用 Git 了.本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令.读完本章,你就能初始化一个新的代码仓库,做一些适当配置:开始或停止跟踪某些文件:暂存或提交某些更 新.我们还会展示如何让 Git 忽略某些文件,或是名称符合特定模式的文件:如何既快且容易地撤消犯下的小错误:如何浏览项目的更新历史,查看某

Git详解之二:Git基础

原文:<Pro Git> Git 基础 读完本章你就能上手使用 Git 了(伯乐在线注:如果你对Git还不了解,建议从本Git系列第一篇文章开始阅读).本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令.读完本章,你就能初始化一个新的代码仓库,做一些适当配置:开始或停止跟踪某些文件:暂存或提交某些更 新.我们还会展示如何让 Git 忽略某些文件,或是名称符合特定模式的文件:如何既快且容易地撤消犯下的小错误:如何浏览项目的更新历史,查看某两次更新之间的差

Git 学习之Git 基础(二)

Git 基础 读完本章你就能上手使用 Git 了.本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令.读完本章,你就能初始化一个新的代码仓库,做一些适当配置:开始或停止跟踪某些文件:暂存或提交某些更新.我们还会展示如何让 Git 忽略某些文件,或是名称符合特定模式的文件:如何既快且容易地撤消犯下的小错误:如何浏览项目的更新历史,查看某两次更新之间的差异:以及如何从远程仓库拉数据下来或者推数据上去. 取得项目的 Git 仓库 有两种取得 Git 项目仓库的

Git基础

这次开发要使用Git取代SVN.借机学习了一二,跟大家分享一下. Git简单介绍 一句话总结的说,Git是一个开源的分布式版本号控制系统,由Linux内核开发者开发,现已用来管理android等多个大型项目. 设计目标: 高速操作 简单设计 并行开发(上千个) 全然分布式 能力超强(类似Linux内核管理) 和SVN 提到版本号管理系统,自然会想到SVN,假设你原来是使用tortoiseSVN操作,你如今能够用tortoiseGit.表面上看.你会发现tortoiseGit除了多了几个诸如Pus

Git专题--系统的学习Git之二

本文为整理自:伯乐在线 1.Git详解之一:Git起步 2.Git详解之二:Git基础 3.Git详解之三:Git分支 4.Git详解之四:服务器上的Git 5.Git详解之五:分布式Git 6.Git详解之六:Git工具 7.Git详解之七:自定义Git 8.Git详解之八:Git与其他系统 9.Git详解之九:Git内部原理 Git详解之四:服务器上的Git 服务器上的 Git 到目前为止,你应该已经学会了使用 Git 来完成日常工作.然而,如果想与他人合作,还需要一个远程的 Git 仓库.