学习 Git的使用过程
原文链接: 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的使用过程的更多相关文章
- 深入理解学习Git工作流
http://blog.csdn.net/hongchangfirst/article/list/3 //可以看看 http://blog.csdn.net/hongchangfirst/articl ...
- [转]深入理解学习GIT工作流
深入理解学习Git工作流 字数13437 阅读2761 评论3 喜欢70 个人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协作模式,直到有一天我看到了下面的文章,好多遗留在心 ...
- 深入理解学习Git工作流(转)
个人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协作模式,直到有一天我看到了下面的文章,好多遗留在心中的困惑迎刃而解,于是我将这部分资料进行整理放到了github上,欢迎st ...
- 深入理解学习Git工作流(git-workflow-tutorial)
转载:https://segmentfault.com/a/1190000002918123#articleHeader11 人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协 ...
- 深入学习 Git 工作流
原文 https://github.com/xirong/my-git/blob/master/git-workflow-tutorial.md 个人在学习git工作流的过程中,从原有的 SVN ...
- 学习Git的总结与体会
学习Git的总结 blog 第一次学习Git是完全按照廖雪峰老师的教程学习的,学的过程中基本上没有遇到什么问题,但是自己实际操作就问题不断了. 首先,还是按照惯例,来膜拜一下廖雪峰老师精简的教程知识吧 ...
- 记录我开始学习 Git的路程
工作半年多了,总觉得没学到什么东西,于是乎找了个Git学习一下,感觉还蛮厉害的样子.为此记录下我的路程 2015,11,26 更新 前面的路都挺艰难的,在官网下载msysgit网速几乎为0(心情千万只 ...
- [少数派]如何学习Git
用玩游戏的方式学习 Git 目录 为什么要学习 Git 怎么学习 Git Learn Git Branching 其他学习资源 用游戏的方式来学习,是一种有趣而高效的方式. 从刚接触电脑时的打字练习软 ...
- 学习 Git 玩转 GitHub
原文地址:学习 Git 玩转 GitHub 博客地址:http://www.extlight.com 一.基本了解 1.1 什么是版本控制系统 版本控制系统是一种记录一个或若干个文件内容变化,以便将来 ...
随机推荐
- GridControl 应用 z
DevExpress学习系列(控件篇):GridControl的基本应用 一般属性设置 不显示分组框:Gridview->Option View->Show Group Panel=fal ...
- QT的动画效果 抖动 下坠 透明 最近在开发QT收藏了好多链接
http://blog.csdn.net/liang19890820/article/details/51888114
- Maven学习---使用maven进行项目构建
1. 使用maven进行项目构建 MyEclipse 自带maven 插件 Eclipse 需要单独安装maven插件 1.1. Maven 在企业中怎么用的 ? Maven : 项目构建工具 ,进行 ...
- Realtek无线网卡对于Ubuntu的WiFi不支持的处理办法
1.应急办法:查询rfkill list all,可以看到ideapad_laptop的无线被物理关闭,可是博主的笔记本根本没这个键位,所以执行sudo modprobe -r ideapad_lap ...
- 小程序——微信小程序初学踩过的坑
微信小程序初学踩过的坑 一.前言 最近因为某些需要和个人兴趣打算开发一下微信小程序,经过在官方网站上的基本了解,我大体知道了微信小程序开发的大致过程,其实最本质的就是MVVM,借用了很多模式上 ...
- C++默认值。
类成员变量: char :� //随机int :2685372 //随机string :size:0length:0 vector :0map :0 结构体 //取决于成员自己的类型 类成员静态变量: ...
- 转 C++11 并发指南std::condition_variable详解
之前看过,但是一直没有怎么用就忘了,转一篇别人的文字记录下来 本文将介绍 C++11 标准中 <condition_variable> 头文件里面的类和相关函数. <conditio ...
- 二十五、详述 IntelliJ IDEA 提交代码前的 Code Analysis 机制
在我们用 IntelliJ IDEA 向 SVN 或者 Git 提交代码的时候,IntelliJ IDEA 提供了一个自动分析代码的功能,即Perform code analysis: 如上图所示,当 ...
- 【luogu P3946 ことりのおやつ】 题解
题目链接:https://www.luogu.org/problemnew/show/P3946 交好几遍是因为虽然能过一直有提醒..强迫症qwq #include <bits/stdc++.h ...
- HDU 1248 寒冰王座 (完全背包)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1248 寒冰王座 Time Limit: 2000/1000 MS (Java/Others) M ...