标签:历史命令 一个 lob head xxx 产生 忽略 就会 多个
git 强大的版本控制系统
1.版本管理三种方式
	1.原始的版本控制(对整个项目的源文件进行拷贝)
		-. 空间浪费
		-. 无法进行协作开发
		-. 版本定位麻烦
	2.集中式版本控制器  SVN
	3.分布式版本控制器  git
步骤:
	1. 安装gitbash
	
	2. 配置全局账号
		git config --global user.name "Your Name"
		git config --global user.email "email@example.com"
		
		输入命令进行查看配置信息:
			git config -l
		
	3. 新建一个目录
		mkdir myProject
		
	4. 在该目录下新建文件
		cd  myProject & touch README.txt
		
	5. 编辑README.txt文件
		vi README.txt
		insert进行编辑
		按esc退出编辑状态
		:wq进行保存并退出
	
	6. 预览文件
		cat README.txt
	
	7. 初始化项目
		git init
			分为(工作区, 暂存区, 提交仓库)
		
	8. 将更改的文件添加到暂存区(常用)
		git add README.txt
		
	9.	将暂存区的文件提交到本地仓库(常用)
		git commit -m "提交描述"
		
	10. 更改文件内容
		vi README.txt
		
	11. 查看更改内容(查看区别)
		git diff
	
	查看状态
		git status
	重复8,9
	
	12. 查看提交日志
		git log
		
	13. 版本回退(HEAD是当前版本, HEAD^上一个版本, HEAD^^上上一个版本,  HEAD~100上100个版本)
		git reset --hard HEAD^
	14. 版本回归
		git reset --hard 指纹信息(前几位)
	
	15. 查看历史命令(可以根据指纹信息任意回退版本)
		git reflog
		
	16. github新建一个仓库
	
	17.	与远程仓库关联(常用)
		git remote add origin https://github.com/Yuki2D/learnGit.git
		
	18. 将本地仓库的内容推送到远程仓库(第一次需要添加参数-u)(常用)
		git push origin master
		
	19. 创建分支(参数-b是创建并切换)
		git checkout -b dev
		
	20. 在dev分支里面添加和提交
		重复8,9
	
	21. 切换分支回主干
		git checkout master
	
	22. 将dev分支合并到master主干
		git merge dev
		
	23. 干掉dev分支
		git branch -d dev
		
	24. 将更新的内容push到远程仓库
		git push origin master
		
2.git基础知识
	1.安装git
3.git基础
	git的三种状态:
		1.已修改 modified
		2.已暂存 staged
		3.已提交 committed
	git的三个区域:
		1.工作目录 (代码编写的目录) working area
		2.暂存区域 staging area
		3.git 仓库
		
4.git管理项目
	1.进入到要管理的项目 
		cd 项目名称
	2.执行git init 初始化git仓库
	3.监听文件 git add index.html
	4.提交 git commit -m "提交描述"
	5.查看状态
		git status
5.将某些被监听的文件从暂存区域中删除,但是不删除文件本身
	git rm -r --cached 要删除的文件
	git rm -r --cached	xxx.js
6.忽略某些无需被git监听的文件
	创建 .gitignore文件,在该文件输入需要被忽略的文件
7.查看历史版本信息
	git log
	commit 7931adefeeb96393efcaaf1b2e2c03c6cb55ed70 版本的指纹信息
	Author: zmt <mengtuo@outlook.com> 提交者姓名和邮箱
	Date:   Mon Jan 22 16:14:21 2018 +0800 上传日期
	简化版本信息,只提供 版本的指纹信息和提交的描述
		git log --pretty=oneline;
		7931adefeeb96393efcaaf1b2e2c03c6cb55ed70 忽略test.js
		9f75b45d4a767885b5925972d0f71420624873ea 提交
		607d3c5da6c40ba2d3748d4c2816bc173a9c539b 首次提交
8.撤销上一次的修改(撤销的同时会将内容给删除掉)
	git checkout -- 文件名称
9.时光机,回溯到指定版本
	git reset --hard 指纹信息
需要注意的是,当你回溯到某一个版的时候,当前版本就会失效.
如果你没有当前版本的指纹信息,那么久永远无法回溯到当前这个版本
250c84ad34f6c9e4363b6163123cfb81ec3ca9e4 提交test.js,打印Hello
7931adefeeb96393efcaaf1b2e2c03c6cb55ed70 忽略test.js
9f75b45d4a767885b5925972d0f71420624873ea 提交
607d3c5da6c40ba2d3748d4c2816bc173a9c539b 首次提交
10.远程仓库
	两种方式建立连接:
	1.在本地创建git项目和远程服务器git项目,然后为本地项目添加远程服务器的git仓库地址
		1.mkdir &cd 项目名称 
		2.git init
		3.touch README.md
		4.git add *
		5.git commit -m "提交描述"
		6.git remote add origin git地址  //添加远程仓库的地址
		7.git push -u origin master //推送到远程仓库
	2.在远程服务器先建立git仓库,然后通过clone的方式将远程仓库下载到本地
		git clone git地址
	克隆下来的项目将会拥有远程仓库的所有历史版本信息
	3.刷新仓库
		git pull origin master
11.git分支
	1.分支的创建: git branch testing
	2.切换分支: git checkout testing
	3.合并分支: git merge testing,注意要回到相应的分支
	
12.冲突
	当多个开发人员修改同一个文件,并提交到远程仓库,那么就会产生冲突
	git pull origin master
	<<<<<<< HEAD
	1.解决方式,根据需求和其他修改该文件的开发人员协商处理.
	2.协商好之后,将相应的代码和冲突提示删除,
	3.冲突解决之后,重新对该文件进行跟踪git add *,
	4.git push origin master 然后重新提交即可
标签:历史命令 一个 lob head xxx 产生 忽略 就会 多个
原文地址:https://www.cnblogs.com/yezichengy/p/11509484.html