一个关注IT技术分享,关注互联网的网站,爱分享网络资源,分享学到的知识,分享生活的乐趣。
git
官方名称: 分布式版本管理器
通俗解释:就是一个管理我们文件夹的工具,只不过可以保留所有版本信息
官网:https://git-scm.com/
打开官网,直接下载
选择自己电脑的操作系统和位数
下载好后,直接安装
一直下一步就可以了
检测是否安装成功,在命令行窗口输入
# 检测是否安装成功
$ git --version
git bash here
,会出现以下内容git bash here
表示在当前目录下运行 git bash
git init
在当前目录创建版本库,该目录被git管理
当一个文件被 git
管理了以后
git
就会对当前文件夹进行 分区
会分为三个区域
向版本库添加文件
$ git config --global user.name "Your Name"
$ git config --global user.email "YourEmail@xxx.com"
git add
指令
把单独一个文件放在暂存区
# 把文件夹下的index.txt 文本放在暂存区
$ git add index.txt
把单独一个文件夹放在暂存区(不能存放空文件夹)
# 把文件夹下的src文件夹放在暂存区
$ git add src/
把所有文件放在暂存区
# 把文件夹下的所有内容放在暂存区
$ git add --all
#简写
$ git add .
把已经放在暂存区的内容在拉回到工作区
# 拉回暂存区的 index.txt 文件
$ git reset HEAD -- index.txt
# 拉回暂存区的 ceshi 文件夹
$ git reset HEAD -- ceshi/
# 拉回暂存区的 所有文件
$ git reset HEAD -- .
//注意: -- 两边都有空格, 拉回所有文件的时候,有一个 .
git
的历史区,就是把我们暂存区里面的文件形成一个历史版本
当一些文件形成一个版本的时候,就会一直记录下来
向历史区里面添加内容的时候,必须保证 暂存区 有内容
因为 历史区 就是把 暂存区 里面的内容收录进去
向历史区添加内容使用 git commit -m "说明"
# 把暂存区的内容放到历史区
$ git commit -m "我是第一个版本"
这时历史区就有了我们的第一个版本
我们使用git log
这个指令查看版本信息
# 查看当前历史区版本信息
$ git log
commit
版本号
Author
作者
Date
本次版本的记录时间
后面的内容就是提交的时候写的说明
git reflog
回退查看原来版本号
我们提交了两次,历史区也有两条信息,也就是两个版本
放在历史区的内容,理论上就丢不了了
现在我们可以把工作区中的内容删除掉,删除后我们进行历史回退
使用git reset --hard 版本编号
# 回退到第一次提交的版本
$ git reset --hard ce0c17f7a703c6847552c7aaab6becea6f0197f2
# 回退到第二次提交的版本
$ git reset --hard abb2c4f12566440e84bc166c3285f855a37a3bb2
方法二: git reset --hard HEAD ^
( ^ 表示回到上一个版本,如果需要回退到上上个版本的话,将HEAD改成HEAD^, 以此类推。那如果要回退到前100个版本,这种方法肯定不方便,我们可以使用简便命令操作:git reset –hard HEAD~100
);
github:
官网: https://github.com/
gitee:
官网: https://gitee.com/
开 辟 远 程 库 \color{red}{开辟远程库} 开辟远程库
github
账号后github
网站,开辟一个远程仓库github
的远程库也是以一个仓库一个仓库的形式来保存代码
g i t e e 和 g i t h u b 操 作 差 不 多 \color{red}{gitee和github操作差不多} gitee和github操作差不多
接下来,就要使用 git 上传代码了
我们先要告诉 git 上传到哪里
也就是给 git 添加一个上传的地址
使用 git remote add origin 仓库地址
来上传
# 在项目文件夹下打开 gitbase
# 添加仓库地址
$ git remote add origin https://gitee.com/****/H5.git
// remote 远程的意思
//add 添加的意思
//origin 是一个变量名
上传到哪里的地址我们已经添加好了
接下来就是上传内容了
我们使用git push
指令来上传
# 上传内容
$ git push -u origin master
# 表示把内容上传到origin这个地址
# master 是上传到远程的 master 分支
第二次上传
# 第二次上传
$ git push
origin
和master
origin
这个地址的master
分支上git
推送git
克隆就是指把远程仓库里面的内容克隆一份到本地克隆
复制好地址后,选择一个我们要存放内容的文件夹(这里以桌面为例)
直接在想存放内容的位置打开 git bash
输入克隆指令 git clone 仓库地址
# 直接克隆仓库
$ git clone https://gitee.com/*****/H5.git
克隆指定版本git clone http://github.com/symfony/symfony.git -b v2.0.9
克隆远程分支git clone -b 远程分支名 http://github.com/symfony/symfony.git
不管你克隆下来的仓库还是别的方式弄来的本地仓库
当别人的代码更新以后,你想获得最新的代码
我们不需要重新克隆
只需要拉去一次代码就可以了
下拉指令git pull
# 拉取远程最新代码
$ git pull
git
冲突是指在我们的上传过程中
本地的版本和远程的版本不一致导致的
这个时候只要先使用git pull
拉取回来
然后再重新上传就好了
但是git pull
相对不安全,因为会自动和本地内容合并
我们也可以使用git fetch
# 使用fetch 获取远程最新信息并开辟一个一个临时分支
$ git fetch origin master:tmp
# 将当前分支和临时分支的内容进行对比
$ git diff tmp
# 再选择合并分支内容
$ git merge tmp
git
分支,就是我们自己把我们的整个文件夹分成一个一个独立的区域
login
分支下进行开发list
分支下进行开发这样开发就会好很多
git
在初始化的时候,会自动生成一个分支,叫做 master
表示主分支的意思,我们可以开辟很多独立分支
开辟一个分支使用git branch 分支名称
指令
# 开辟一个login分支
$ git branch login
查看当前分支情况
# 查看当前分支情况
$ git branch
会看到,当前有两个分支了
一个是master
,一个是 login
前面有一个 *
,表示你当前所处分支
我们对 登录 功能的开发要移动到 login
分支去完成
我们切换所处分支使用 git checkout 分支名称
# 切换到 login 分支
$ git checkout login
然后我们在整个分支上进行 登录 功能的开发
开发完毕后,我们就在当前分支上进行提交
git
合并分支,只能是把别的分支的内容合并到自己的分支上
使用的是git merge
# 切换到master分支
$ git checkout
# 把 login 的内容合并到自己的分支
$ git merge login
这个时候,我们刚才在login
上开发的东西就都到master
主分支上
先切换到别的分支
使用指令git branch -d 分支名称
来删除
# 先切换到别的分支
$ git checkout master
# 删除login分支
$ git branch -d login
git branch -r
git push origin [name]
git push origin :heads/[name]
拉取远程仓库
git pull [remoteName] [localBranchName]
克隆远程分支
$ fit pill -b[远程分支名] [地址]
$ git clone -b product-dev http://github.com/symfony/symfony.git
本文链接:http://zhangshiyu.com/post/28893.html