一.安装GIT和配置GIT
1.安装GIT
apt-get install git
2.配置GIT
##配置用户信息
git config --global user.name "John Doe"
git config --global user.email [email protected]
##文本编辑器
git config --global core.editor emacs
##差异分析工具
git config --global merge.tool vimdiff
##查看配置信息
git config --list
##获取帮助
git help config
二、创建GIT仓库和远程仓库的使用
1.在工作目录中初始化新仓库
##切换到工作目录
mkdir test
cd test
git init
##初始化后可以看到这些文件
ls ./.git/
branches config description HEAD hooks info objects refs
2.从现有仓库克隆出来
git clone git://192.168.1.1/var/www/test.git
3.克隆到本地
git clone /var/www/test test_new
4.远程仓库的克隆
git clone [email protected]:/var/www/test
5.查看当前的远程库
git remote -v
6.添加远程仓库和推送
##添加远程仓库分支
git remote add test [email protected]:/var/www/test
##从远程仓库抓取数据
git fetch test
##推送数据到远程仓库
git push origin master
##查看远程仓库信息
git remote show origin
7.远程仓库的删除和重命名
##重命名
git remote rename test test_new
##删除
git remote rm paul
三、GIT全局配置
1.配置当前用户名和邮箱
git config --global user.name "linzhenjie"
git config --global user.email [email protected]
2.设置别名
git config --global alias.ci commit
git config --global alias.st status
3.其他配置
##颜色显示
git config --global color.ui true
##编辑器
git config --global core.editor vim
##独立忽略文件
git config --global core.excludesfile /home/linzhenjie/.gitignore
四、GIT中相关命令
1.检查当前文件状态
git status
2.往暂存库中添加新的文件
git add test.php
3.提交更新
##提交更新
git commit -m "add test file for my test"
##添加并提交更新
git commit -a -m 'added new benchmarks'
##执行一次空白提交
git commit --allow-empty -m "who does commit?"
4.比较差异
##暂存库与版本库比较
git diff
##本地库与暂存库比较
git diff HEAD
##暂存库与版本库比较
git diff --cached
git diff --staged
5.修改最后一次提交
git commit -m 'initial commit'
git add test.php
git commit --amend
6. 查看提交历史
##查看所有日志
git log
##查看所有日志(包含重置的日志)
git reflog show master
7.重置/回退暂存区和版本库
##重置/回退版本库
git reset --soft
##重置/回退版本库、暂存库
git reset
##重置/回退版本库、暂存区、工作区
git reset --hard
8.清理工作区
##查看不在暂存区的工作区文件
git clean -nd
##清理工作区多余文件
git clean –fd
9.删除暂存区和版本库
##删除暂存库和版本库的文件
git rm test.php
##删除版本库的文件
$ git rm --cached test.php
10.移动文件
git mv test.php test_new.php
11.进度的存储和恢复
##保存当前进度
git stash save
##查看当前进度列表
git stash list
##弹出恢复工作区进度
git stash pop
##弹出恢复工作区和暂存区进度
git stash pop --index
##应用工作区进度
git stash apply
##删除一个进度
git stash drop
##删除所有存储进度
git stash clear
##存储分支进度
git stash branch
五、忽略文件语法
.gitignore
*.a ##忽略以.a为节结尾的文件
!lib.a ##不会忽略lib.a的文件或目录
/DIR ##忽略当前目录下文件(不包括子目录)
DIR/ ##忽略当前目录下所有文件
DIR/*.txt ##忽略DIR下的txt文件(不包括子目录)