根据学习廖雪峰老师的git教程做的笔记
根据学习廖雪峰老师的git教程做的笔记
安装git
进行git的配置
配置您的用户名和邮箱地址,使用--global 这个参数表明了在此台机器上的所有仓库都会使用该配置
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
创建版本库
在本地的一个文件目录下,创建一个仓库test,就是一个名为test的文件夹
$ mkdir test
$ cd test
$ pwd
/d/Repositories/test将该仓库交由git进行管理
cd test
git init
Initialized empty Git repository in D:/Repositories/test/.git/执行 git init 命令会将该仓库叫由git进行管理,在该仓库下会多出一个.git的文件夹,该文件夹是用于跟踪管理版本库的
将文件添加至版本仓库
首先在仓库里创建一个文件,比如README.md
使用 git status 可以查看当前版本仓库的状态,当新建了README.md文件后,执行 git status 命令,可以看到以下的信息,未添加到仓库的文件列表以及提示可以使用 git add命令来将其添加到仓库中
$ git staus On branch master Initial commit Untracked files:
(use "git add <file>..." to include in what will be committed) README.md nothing added to commit but untracked files present (use "git add" to track)使用 git add 命令来将文件添加到仓库,此时再执行 git status 可以看到以下信息,文件README。添加到了仓库中
$ git add README.md
$ git status
On branch master Initial commit Changes to be committed:
(use "git rm --cached <file>..." to unstage) new file: README.md使用 git commit 提交操作,-m 后面是对本次提交进行说明,可以说是这次提交干了啥事,得到的信息是:命令执行成功,一个文件改变插入了69行。
$ git commit -m "add README.md" [master (root-commit) a88471c] add README.md
1 file changed, 69 insertions(+)
create mode 100644 README.md
由于README.md文件就是我正在编辑的笔记文件,所以该文件已经较上一次提交发生了改变,我们使用 git status 来查看状态
```shell
$ git stauts
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: README.md
no changes added to commit (use "git add" and/or "git commit -a")
```
可以使用 git diff 来查看文件具体的修改,显示的是当前文件与上一次提交的文件的不同
```
$ git diff README.md
```
然后我们可以将修改后的文件在添加并提交到仓库
```shell
$ git add README.md
$ git commit -m "update REMADE.md"
```
版本控制
以上的操作向版本库提交了两次,使用 git log 可以查看提交的历史记录,按照由最近的提交到最远的提交排列,没一次提交都有唯一的 commitid 来标识,可以看到下列信息有,add README.md 和 update README.md 两次提交记录。
$ git log commit 00673827e54d35b3db1950f8ac6f728d6e809386
Author: lychiyu <lychiyu@gmail.com>
Date: Sat May 6 14:10:14 2017 +0800 update README.md commit a88471c627f934ca1540bd5cc1d51c8a4a3b65ee
Author: lychiyu <lychiyu@gmail.com>
Date: Sat May 6 10:30:19 2017 +0800 add README.md如果想要回退到当前版本的上一个版本,可以使用以下命令,便回到了上一个版本,此时再执行 git log 命令,只能得到一个提交记录。
$ git reset --hard HEAD^
HEAD is now at a88471c add README.md $ git log
commit a88471c627f934ca1540bd5cc1d51c8a4a3b65ee
Author: lychiyu <lychiyu@gmail.com>
Date: Sat May 6 10:30:19 2017 +0800 add README.md如何回到 update README.md 这个版本,可以使用以下命令,--hard 后面的字符是 update README.md 版本的 commitid 的前几位,这样就可以回到指定的版本了
$ git reset --hard 00673827
HEAD is now at 0067382 update README.md可以使用 git reflog 来查看命令记录
$ git reflog
管理修改
撤销操作
- 当修改文件后并未执行 git add 时使用 git checkout --README.md 命令来撤销修改
- 执行了 git add 时,先使用 git reset HEAD README.md 再执行情况1的指令
$ git reset HEAD README.md
$ git checkout --README.md
3. 如果已经提交了,这可以执行版本回退操作
远程仓库
生成 SHH Key,填上自己的邮箱地址,复制当前用户目录下“.ssh/id_rsa.pub” 里面的内容到github或者其他代码托管网站的ssh设置里面
$ ssh-keygen -t rsa -C "lychiyu@gmail"将本地仓库,推送到远程代码库中的master分支上
$ git remote add origin git@bitbucket.org:lychiyu/test.git
$ git push -u origin master克隆远程仓库到本地
$ git clone git@bitbucket.org:lychiyu/test.git
分支管理
创建分支,创建一个dev分支,并切换至dev分支下
$ git branch dev
$ git checkout dev
Switched to branch 'dev'使用git branch命令来查看所有的分支,在当前分支前会有星号标注
$ git branch
* dev
master合并分支,使用git merge 命令来接需要合并的分支名,如下面,先切到master分支下,在将dev分支与其合并。
$ git checkout master
$ git merge dev删除分支,如下
$ git branch -d dev
Deleted branch dev (was 0067382).
$ git branch
* master
根据学习廖雪峰老师的git教程做的笔记的更多相关文章
- 廖雪峰老师的git在线教程
我是看廖老师的网站,学习git使用的,所以在这里做做收藏,也推广推广. 该教程的类型可以换个名称<手把手看图教你用git>来概括,呵呵. 做得很用心,学起来很快.
- git常用命令总结--廖雪峰老师Git教程命令总结
学习了廖雪峰老师的Git教程之后的命令总结,重点关于git和远程仓库的东西. 如果没有学过,这是传送门 下面这个图很重要 一.git初始化本地仓库和配置 echo "想输入到文件的内容,一般 ...
- git入门(廖雪峰老师)
根据廖雪峰老师的git教程进行学习总结: 1.之前上班用的都是svn进行管理,那么svn和git有什么区别呢? svn是集中式的版本控制系统,而git是分布式版本控制系统,那么集中式和分布式版本控制系 ...
- git入门笔记汇总——(廖雪峰博客git入门)
本文内容是对廖雪峰老师Git教程做的笔记,外加一些自己的学习心得,还抱着学以致用的心态来实践一番 如有显示错误 请移步本人github:git教程小结 Git学习笔记 Git简介 安装Git 创建版本 ...
- 【学习总结】Git学习-参考廖雪峰老师教程-总
公元2018-10-21 实验室台式机 win7 64位 参考教程: 廖雪峰Git教程 其他资料:Git-book 北大一只总结的笔记,最终整理的时候可以参考:Git笔记 评论区看到的另一个人,总结在 ...
- 【学习总结】Git学习-参考廖雪峰老师教程六-分支管理
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...
- 【学习总结】Git学习-参考廖雪峰老师教程八-使用GitHub
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...
- 廖雪峰老师Python教程读后笔记
廖老师网站:http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 花几天时间看了廖老师的 ...
- 【学习总结】Git学习-参考廖雪峰老师教程四-时光机穿梭
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...
随机推荐
- docker学习篇(二)---- 基础篇
引言 在之前的学习中,我知道了docker的三大组件分别是----镜像,容器,仓库.了解了这三个组件也就初步理解了docker.所以我学习了这三个组件,并记录下来. 镜像 docker在运行一个容器时 ...
- Django--cookie操作
day74 会话跟踪技术 什么是会话跟踪 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如你给10086打个电话,你就是客户端,而 ...
- xshell 会话管理器快捷键
有没有发现xshell6关闭左边的会话管理器以后,打开就比较麻烦 那么可以自定义一个快捷键来打开: 然后输入一个快捷键 类型选择 菜单-->然后找会话管理器 完事儿 也可以自定义其他快捷键.自己 ...
- jobss目录结构
一. JBoss的目录结构 bin:包含各种脚本文件以及相关文件,比如run.bat和shutdown.bat批处理文件. client:存储配置信息和可能被Java客户端应 ...
- 延迟初始化Lazy
延迟初始化出现于.NET 4.0,主要用于提高性能,避免浪费计算,并减少程序内存要求.也可以称为,按需加载. 基本语法: Lazy<T> xx = new Lazy<T>(); ...
- C# 函数式编程:LINQ
一直以来,我以为 LINQ 是专门用来对不同数据源进行查询的工具,直到我看了这篇十多年前的文章,才发现 LINQ 的功能远不止 Query.这篇文章的内容比较高级,主要写了用 C# 3.0 推出的 L ...
- NPOI 通过excel模板写入数据并导出
private void ToExcel(string id) { //模板文件 string TempletFileName = Server.MapPath("template.xls& ...
- Spring Security OAuth2 SSO 单点登录
基于 Spring Security OAuth2 SSO 单点登录系统 SSO简介 单点登录(英语:Single sign-on,缩写为 SSO),又译为单一签入,一种对于许多相互关连,但是又是各自 ...
- 使用Maven搭建JFinal环境
使用Maven搭建JFinal环境 工具:IDEA 2017 JFinal版本:3.4 一.Maven项目创建 选择maven模板进行创建 填写GroupId和ArtifactId 一路Next即可 ...
- The Maze Makers(csu1566)
1566: The Maze Makers Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 90 Solved: 33[Submit][Status][ ...