[toc]

前言

git 是一个分布式的版本管理工具,适用于多人开发团队进行代码的组织管理。

svn、hg、cvs 等

代码版本管理

  • 每天更新代码
  • 多人合并代码

Git 安装

我们可以去官网下载 git

https://git-scm.com/downloads

安装完成后输入下面的命令

1
2
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

创建版本库

1
2
3
4
5
6
mkdir learngit
cd learngit
pwd /Users/michael/learngit
git init # 初始化仓库
Initialized empty Git repository in /Users/michael/learngit/.git/
ls -ah # 查看隐藏的git目录,我们的版本库信息都在这里,一般情况下不需要编辑

大家可以把版本库,想象仓库。存储东西。

添加文件

创建好版本库之后,我们就可以对代码进行管理了。

1
2
3
git add .	#添加文件

$ git commit -m "wrote a readme file" #提交文件到版本库

版本回退

做好版本管理很重要

1
2
3
4
git status 	             # 查看分支状态
git reset --hard HEAD^ # 回到上一个版本,HEAD~100回到上100个版本
git reset --hard id # 回到指定的版本
git reflog # 查看git命令

撤销修改

如果修改文件不想要了

1
git checkout [file]	      # 撤销修改,还原文件

删除文件

如何在已经提交的版本中删除文件

1
2
3
rm -rf [file]	    # 真实删除
git rm [file] # git删除
git commit -m # 提交删除

远程管理

添加远程仓库

操作 github 或者马云 gitee

1
2
3
git clone http://github.com/sadsada    # 将远程仓库克隆到本地
git push # 推送到远程仓库
git pull/fetch/merge # 从远程仓库获取

分支管理

分支是很关键的

1
2
3
4
git branch dev		  # 创建分支
git checkout dev # 切换分支
git branch -d dev # 删除分支
git merge master # 合并分支

解决冲突

任意两个分支之间合并,并且同时修改了文件的同一行,就会有可能发生冲突。

1
2
3
git  diff      # 查看冲突
#手动操作文件解决冲突,提交
git log --graph --pretty=oneline --abbrev-commit #查看分支合并情况