原文链接: http://www.cnblogs.com/NickQ/p/8882726.html

学习 Git的使用过程

初次使用

git config --global user.name "用户名"
git config --global user.email "邮箱"

Git 创建版本库

git init  //初始化一个空工程

git add <file>  //将文件添加到暂存区

git commit //添加注释
参数:
-am 添加和修改
-m 修改
--amend //更正最后一次提交。使用编辑器,中文可能乱码。
--amend -n "提交说明" //更正最后一次提交。不使用编辑器 eg:
git add file1.txt
git add file2.txt file3.txt
git commit -m "add 3 files." git status //查看状态 git push //将暂存区的内容推向远程。

Git master不断增长

Git 版本回退

git log  //查看历史记录

参数:
--pretty=oneline //简化打印 eg: git log --pretty=oneline 图形化查看:
git log --decorate --oneline --graph all git reset //版本回退 命令选项:
git reset --soft HEAD~
- 移动HEAD的指向,将其指向上一个快照。
git reset --mixed HEAD~ (默认选项 等同于git reset HEAD~)
- 移动HEAD的指向,将其指向上一个快照。
- 将HEAD移动后指向的快照回滚到暂存区。
git reset --hard HEAD~
- 移动HEAD的指向,将其指向上一个快照。
- 将HEAD移动后指向的快照回滚到暂存区。
- 将暂存区的文件还原到工作目录。 eg:git reset HEAD~
~ 表示上一级版本,~个数即为级数。HEAD~~ 也可以写为 HEAD~2 //HEAD~ 可以是ID号,这样做可以回滚到过去,也可以回滚到未来。

执行git reset 回滚命令。

回滚前,HEAD指针状态

回滚后,HEAD指针状态

Git diff版本比较

git diff //版本比较,比较暂存区(a)和当前工作目(b)中的文件。

git diff 快照ID1  快照ID2 //比较提交的两个历史快照。

git diff 快照ID  //比较历史快照。

Git 删除文件,重命名

删除过程:

1、将该文件从工作目录和暂存区文件,即取消跟踪。

2、修改HEAD~指针,将远程提交回滚。

3、重新提交。

git rm  -- <文件名>
注:如果文件名唯一,没有这样名字的,可以省略 -- 。该命令删除的只是工作目录和暂存区的文件,也就是取消跟踪,在下一次提交时不纳入版本管理。 git reset --soft HEAD~ 仅修改指针,回滚到上一次的状态。

重命名:

git ren/mv <旧文件名> <新文件名> 

Git 分支管理

分支是什么?



实际开发中的分支:

创建分支:
git branch <分支名> 切换分支:
git chechout <分支名> 图形化查看
git log --decorate --oneline --graph all 合并分支:
git merge <分支名> 解决冲突:
首先 git status //查看未合并的文件
打开这个文件,借助git添加的标记,修改文件。
然后用git add /git commit -m "" 命令,提交。

一个分支管理例程过程中,指针移动过程。

创建分支D后,切换到D分支,指针移动过程。

此文有借助廖雪峰老师的视频,为尊重原作者,在此给出原文链接。廖雪峰老师教程的链接

学习 Git的使用过程的更多相关文章

  1. 深入理解学习Git工作流

    http://blog.csdn.net/hongchangfirst/article/list/3 //可以看看 http://blog.csdn.net/hongchangfirst/articl ...

  2. [转]深入理解学习GIT工作流

    深入理解学习Git工作流 字数13437 阅读2761 评论3 喜欢70 个人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协作模式,直到有一天我看到了下面的文章,好多遗留在心 ...

  3. 深入理解学习Git工作流(转)

    个人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协作模式,直到有一天我看到了下面的文章,好多遗留在心中的困惑迎刃而解,于是我将这部分资料进行整理放到了github上,欢迎st ...

  4. 深入理解学习Git工作流(git-workflow-tutorial)

    转载:https://segmentfault.com/a/1190000002918123#articleHeader11 人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协 ...

  5. 深入学习 Git 工作流

    原文  https://github.com/xirong/my-git/blob/master/git-workflow-tutorial.md   个人在学习git工作流的过程中,从原有的 SVN ...

  6. 学习Git的总结与体会

    学习Git的总结 blog 第一次学习Git是完全按照廖雪峰老师的教程学习的,学的过程中基本上没有遇到什么问题,但是自己实际操作就问题不断了. 首先,还是按照惯例,来膜拜一下廖雪峰老师精简的教程知识吧 ...

  7. 记录我开始学习 Git的路程

    工作半年多了,总觉得没学到什么东西,于是乎找了个Git学习一下,感觉还蛮厉害的样子.为此记录下我的路程 2015,11,26 更新 前面的路都挺艰难的,在官网下载msysgit网速几乎为0(心情千万只 ...

  8. [少数派]如何学习Git

    用玩游戏的方式学习 Git 目录 为什么要学习 Git 怎么学习 Git Learn Git Branching 其他学习资源 用游戏的方式来学习,是一种有趣而高效的方式. 从刚接触电脑时的打字练习软 ...

  9. 学习 Git 玩转 GitHub

    原文地址:学习 Git 玩转 GitHub 博客地址:http://www.extlight.com 一.基本了解 1.1 什么是版本控制系统 版本控制系统是一种记录一个或若干个文件内容变化,以便将来 ...

随机推荐

  1. Stack vs Heap

    http://gribblelab.org/CBootcamp/7_Memory_Stack_vs_Heap.html Table of Contents Stack vs Heap The Stac ...

  2. 旋转动画用控件RotateView

    旋转动画用控件RotateView 最终效果: 源码: RotateView.h 与 RotateView.m // // RotateView.h // RotateAnimationView // ...

  3. .net 流(Stream) - StreamWriter和StreamReader、BinaryReader和BinaryWriter

    转自:http://www.oseye.net/user/kevin/blog/86 一.StreamWriter和StreamReader 从上一篇博文可知文件流.内存流和网络流操作的都是字节,每次 ...

  4. [原]零基础学习SDL开发之在Android使用SDL2.0渲染PNG图片

    在上一篇文章我们知道了如何在android使用SDL2.0来渲染显示一张bmp图,但是如果是一张png或者一张jpg的图,那么还能显示成功么?答案是否定的 我们需要移植SDL_image库来支持除bm ...

  5. libevent核心-event和event_base结构体

    参考:http://blog.csdn.net/yusiguyuan/article/category/2171081/2 http://blog.csdn.net/sparkliang/articl ...

  6. PHP-------文件上传的实例

    文件上传的实例 一.上传头像 在注册时,要求用户上传头像,登陆主页面,显示用户信息时,头像也要显示出来. 例子: 注册页面: 图片存数据库时是text类型. <title>无标题文档< ...

  7. pcel安装的mongodb的两个问题的解决方案

    最近工作需要,要使用mongodb,这个是使用 pecl 安装的,跟标准的 mongo 使用还是有区别的,这里不讲区别,只讲两个比较典型的问题该如何处理,具体的文档大家可以直接参考 php 的官方文档 ...

  8. nssm 在windows上部署服务

    简介 NSSM是一款可将Nodejs项目注册为Windows系统服务的工具.当你的Node.js项目需要部署在Windows Server上时,NSSM是一个不错的选择. 特点 NSSM将Node.j ...

  9. ASP.NET Web API编程——构建api帮助文档

    1 概要 创建ASP.NET Web Api 时模板自带Help Pages框架. 2 问题 1)使用VS创建Web Api项目时,模板将Help Pages框架自动集成到其中,使得Web Api项目 ...

  10. if __name__ == "__main__"如何正确理解

    粗略来讲,__name__是当前模块,当模块被直接运行时模块名为__main__.这句话的意思是,当模块被直接执行时,代码将运行,当模块是被导入时,代码不被运行 例如,执行one.py # file ...