一、GIT 本地库使用
官方网站 git
检测安装:
$ git --version
创建不地库:
$ git init
初始化用户名和邮箱:
$ git config --global user.name "your name"
$ git config --global user.email "email@example.com"
添加内容到暂存区:
git add 指令
把单独文件放到暂存区:
$ git add index.txt
把单独文件夹放到暂存区:
$ git add pages/
把当前目录下所有内容都放到暂存区:
$ git add --all
$ git add .
暂存区内容拉回工作区:
拉回暂存区的 index.html 文件:
$ git reset HEAD -- index.html
$ git reset -- index.html
拉回暂存区的 pages 文件夹
$ git reset HEAD -- pages/
$ git reset --pages/
拉回暂存区的 所有文件
$ git rese HEAD -- .
$ git reset -- .
注意: -- 两边都有空格 ,拉回所有文件的时候有个 .
删除暂存区的文件:
$ git re --cached 文件名
暂存区文件添加到历史区:
$ git commit -m "版本说明"
查看日志:
查看当前历史区版本信息
$ git log
回退后查看原来的版本号(所有版本):
$ git reflog
说明:
commit : 这是一个版本的版本编号,
Author :作者
Date : 本次版本记录的时间
版本回退:
指定回退版本:
$ git reset --hard 版本编号($git log 以后的 commit)
退回到上个版本
$ git reset --hard HEAD^
退回到上上个版本
$ git reset --hard HEAD^^
...以此类推
退回到前100个版本
$ git resrt -hard HEAD~100
恢复本地误删的文件:
$ git status
$ git reset HEAD 被删除的文件或文件夹( ../pages || index.html )
$ git checkout 被删除的文件或文件夹( ../pages || index.html )
$ git reset --hard 版本号
忽略提交文件:
1、在工作区创建 .gitgnore
注:gitgnore 前有点号
2、.gitgnore文件中写入忽略文件 格式如下:
/node_modules
index.html
.git
二、GIT远程库使用
github
gitee
本地添加远程仓库地址:
在项目文件夹下打开:
$ git base
添加远程仓库地址:
$ git remote add origin 仓库地址
GIT 上传:
- 上传要确保-历史区-有内容
- 上传过程会把-历史区-里面的所有内容上传到云端
第一次上传:
$ git push -u origin master
- 表示吧内容上传到 origin 这个地址
- master 是上传到远程的 master 分支
- -u 是我们第一次的使用用到了,是为了记录用户名和密码,下次上传就可以不需要再写了。
第二次上传:
$ git push
- 第二次上传的时候,已经有了刚刚的记录,就不需要再写 origin 和 master了
- 会默认传递到 origin 这个地址的 master 分支上
- 除非要上传到别的分支上才写
GIT 克隆:
直接克隆仓库:
$ git clone 仓库地址
克隆指定版本:
git clone 仓库地址
克隆远程分支:
$ git clone -b 远程分支名 仓库地址
GIT 下拉:
拉取远程最新代码:
$ git pull
GIT 冲突:
- 冲突是我们在上传过程中,本地版本和远程版本不一致导致的
1、使用 $git pull :
- 让本地和远程保存一致
- 然后再重新上传
- git pull相对不安全,因为会自动和本地内容合并
$ git pull
2、使用git fetch:
- 使用 fetch 获取远程最新信息并开辟一个临时分支
$ git fetch origin master:tmp
将当前分支和临时分支的内容进行对比:
$ git diff tmp
再选择合并分支内容:
$ git merge tmp
三、GIT 本地分支
开辟查看分支:
开辟一个login分支
$ git branch login
查看当前分支情况
$ git branch
切换所处分支:
切换到 login 分支
$ git checkout login
合并分支:
切换到 master 分支
$ git checkout master
把 login 分支合并到当前分支
$ git merge login
删除分支:
$ git branch -D product-dev
GIT 远程分支
查看远程分支:
$ git branch -r
创建远程分支(本地分支push到远程):
$ git push origin [name]
删除远程分支:
$ git push origin :heads/[name]
拉取远程仓库:
$ git pull [remoteName] [localBranchName]
克隆远程程分支
$ git clone -b [远程分支名] [地址]
$ git clone -b product-dev http://github.com/symfony/symfony.git