git详解
- git简介
a) Git世界上目前最先进的分布式版本控制系统
b) Git 是开源的
c) 使用C语言编写 - 下载git 默认安装即可
下载官网
检测版本git --version
- git配置
git config --global user.name "xxx"
git config --global user.email "xxx@xx.com"
git config --global --list
- 建立git仓库
已经存在文件的时候
cd file_folder
git init
没有文件的时候
cd file_folder
git init projectName
- 配置Local信息
ps:缺省时等同于local
git config --local (ps:对仓库有效)
git config --global (ps:对登录用户的所有仓库有效)
git config --system (ps:对系统下的所有用户有效)
- git工作原理
- 提交版本
(ps:将需要版本控住的文件或者修改过的文件添加到stage区)
git add file (ps:提交单个文件)
git add . (ps:提交多个文件)
(ps:将stage区的文件提交到master区)
git commit -m "message"
- 版本状态查看
git status (ps:显示详细信息)
git status -s (ps:显示关键信息)
- 查看历史版本
git log (ps:最简单的使用)
git log --pretty=oneline (ps:只显示一行)
git log -p (ps:显示版本之间的区别)
git log -3 (ps:显示最近的3个版本)
git log -3 -p (ps:混合使用)
git log --stat (ps:查看答题大体的统计信息)
- 忽略文件.gitignore
(1)#--------注释
(2)glob–模式匹配(类似于正则表达式)
*–匹配0或者任意字符
[abc]–任何一个括号里的字符
[0-9]–0-9的字符
?–匹配任意一个字符
/–结尾指定目录
!–取反 - 版本比对diff
git diff (ps:修改文件add之前对比原来的文件查看不同的地方)
git diff 老版本 新版本 (ps:查看新老版本之间的区别)
git diff --staged (ps:查看添加到暂存区里面的内容有什么变化)
- 删除文件
git restore file (ps:文件修改还未提交到staged时 删除修改的内容)
git restore --staged file (ps:文件修改已提交到staged时 将该文件删除,并回滚到未添加到staged的状态)
git rm file (ps:删除文件)
git rm --cached file (ps:在版本控制系统中删除该文件,然后回滚到工作区)
git rm *.txt (ps:删除所有后缀名为.txt的文件)
- 移动文件,移动后的文件处于staged区,需要git commit -m ‘message’
git mv test.txt doc/test.txt (ps:将test.txt移动到doc目录下,不改名)
git mv test.txt doc/read.txt (ps:将test.txt移动到doc目录下,同时改名为read.txt)
---------等同于----------
mv test.txt doc/test.txt
git rm test.txt
git add doc/test.txt
- 文件补录,添加新的内容而不增加新的版本
git commit --amend
- 版本标签
git -tag -a tagname -m "提交信息" (ps:选择当前版本附注标签)
git -tag tagname (ps:选择当前版本轻量标签)
git -tag -a tagname 版本号 -m "提交信息" (ps:指定一个版本补录标签)
git show tagname (ps:查看标签为tagname的版本)
git tag (ps:查看所有标签)
git tag -l v* (ps:查看以v开头的所有标签)
git tag -d tagname (ps:删除标签)
- checkout 检出
git checkout 版本号 (ps:检出到指定版本,该版本之后的版本就看不见了)
git reflog (ps:检出所有的版本)
git checkout tagname (ps:根据标签检出版本)
-
alias别名设置
git config --global alias.别名 ‘原始’ -
在本地设置远程仓库地址
git remote (ps:查看远程仓库地址)
git remote add origin(自定义远程仓库在本地的名称) URL(远程仓库URL地址)
- 远程仓库操作(pull and push)
git remote show origin(远程仓库名称) (ps:查看远程仓库信息)
git push origin master(本地master分支) (ps:将本地仓库的东西同步到远程仓库mater分支)
git fetch origin (ps:从远程仓库同步到本地远程仓库)
git pull origin (ps:从远程仓库同步到本地仓库)
- 远程仓库修改
git remote rename old_name new_name (ps:重命名)
git remote rm origin (ps:删除)
- 远程项目克隆
git clone URL(远程仓库URL地址)