(1)版本控制工具之Git

1.什么是Git?

      Git是一个分布式的版本控制工具。版本控制主要解决的问题有:

  • 代码管理混乱
  • 备份多个版本,占用磁盘空间大
  • 代码出错之后,难于恢复至以前正确版本
  • 项目版本发布困难等等

2.安装Git(window版本)

      在Git官网下载window版本。官方下载网址为:Git Window版本下载

  • 当安装成功之后,右击鼠标会出现下图

这里写图片描述

  • 右键Git Bash ,配置Git的全局配置
//填写自己的用户名
git config --global user.name "wpx"
//填写自己的一个邮箱,注意这个邮箱,以后链接远程库会需要
git config --global user.email "260129327@qq.com"

这里写图片描述

  • 当设置成功之后,在本地home目录下面会出现一个git配置文件

这里写图片描述

3.Git本地常用命令

3.1 初始化一个仓库(在我本机的的E:\mygit

//意味着,mygit文件夹,允许git控制
git init

3.2 将一个文件上传到版本库

 //将readme.txt文件长传到暂存区,注意:文件名有引号
 git add "readme.txt"
 //将暂存区的的文件转移到版本库(只是把暂存区的文件转移到版本库)
 git commit -m "add a file"
 //查看git仓库的状态
 git status 

3.3 和版本回退相关的命令

  • 通过相对版本号回退
 //回退到某一个版本
 git reset --hard HEAD~index
 //假设回退到(上一个)版本
 git reset --hard HEAD~1
  • 通过commit id(版本号)回退版本
//通过日志查看版本记录
git log
//通过版本号回退(commit_id是具体的id号)
git reset --hard commit_id

这里写图片描述

  • 撤销修改(如果没有提交暂存区)
//注意:没有提交到暂存区。如果提交到暂存区就不能用这个命令(注意文件名没有引号)
//让这个文件回到最近一次git commit或git add时的状态
git checkout -- readme.txt
  • 撤销修改(提交到了暂存区)
//将版本库的文件拿到工作区,同时清空暂存区(注意此时:文件名没有引号)
git reset HEAD readme.txt
  • 如果文件提交到了版本库,可以使用版本回退
  • 删除版本库中的文件(注意是本地文件)
//删除本地文件
rm readme.txt
//删除版本库文件
git rm readme.txt
//提交改变
git commit -m "delete file"

3.4 和分支相关的命令(本地分支)

3.4.1分支公共命令

  • 创建一个分支

//创建一个分支叫做dev
git branch dev
//切换到dev分支
git checkout dev
//或者:
//  创建并切换到dev分支
git checkout -b dev
  • 查看当前分支
git branch

这里写图片描述

3.4.2快速合并分支

  • 合并分支
//注意此命令是在master分支上运行,也就是master合并dev分支(不带参数代表是快速合并如下图所示),只是HEAD指针发生改变了
git merge dev

这里写图片描述

这里写图片描述

  • 删除分支
git branch -d dev

3.4.3不使用快速合并分支(一般我们用这种情况)

//-m 是输入日志信息(可以不写)
git merge --no-ff -m "merge with no-ff" dev
  • 分支图是这样的

这里写图片描述

3.4.4解决分支冲突

当我们的分支有冲突时,执行git merge dev 出现下面错误,同时文件变成了:

这里写图片描述

这里写图片描述

  • 修改文件之后重新提交,此时的分支图是这样

这里写图片描述

4.Git远程常用命令

      在这里使用OSChina的git仓库。OSChina的Git仓库可以创建私有项目。

4.1 创建远程仓库(注意要注册一个oschina账户),并注册密钥

  • 登录oschina创建一个远程仓库

这里写图片描述

  • 创建私钥和公钥(一直点确定)
//后面的字符串写自己的邮箱(其实可以随便写)
ssh-keygen -t rsa -C "260129327@qq.com"

这里写图片描述

  • 创建完成在改目录下有一个.ssh文件(C:\Users\wpx)注意:此时文件夹下面有两个文件

这里写图片描述

  • id_rsa.pub文件的内容拷贝到oschina(如图所示)

这里写图片描述

添加公钥内容:
这里写图片描述

成功:
这里写图片描述

4.2 远程常用命令

  • 克隆远程库(在硬盘随便找个地方,最好不要有中文路径,一般是第一次将项目拷贝到本地)
//注意:  1.后面的地址写你刚刚创建的仓库地址
//       2.仅仅将远程的master分支克隆到本地
//       3.远程的分支默认名称为origin
git clone git@git.oschina.net:alrmm/mygit.git

这里写图片描述

第一次使用git远程仓库时,记得这里一定要写yes(不要不写!!!)

这里写图片描述

选择yes之后.ssh文件夹变成了三个文件

这里写图片描述

  • 将项目推送到远程
//如果项目没有和远程仓库关联,先和远程仓库关联
//origin是远程仓库的名称(其实可以随便写,就是一个代号)
git remote add origin git@git.oschina.net:alrmm/mygit.git
//将项目推送到远程(origin要和关联仓库的名称对象,-u代表既推送分支,也关联分支,可以简化命令,一般是第一次推送)
git push -u origin master
//第二次推送可以这样(将本地的对应分支推送到远程)
//
git push
  • 将项目pull到本地(一般是开发过程中先从远程下载git项目里的文件,然后将文件与本地的分支进行merge。)
//注意:
//      1 如果是个人开发,不存在冲突,可以直接pull
git pull git@git.oschina.net:alrmm/mygit.git
  • 将他人的项目拷贝到我的仓库使用fork命令

4.3 远程分支命令

  • 默认情况下,只会master拷贝到本地(这里将dev分支拷贝到本地)
//将远程的dev分支拷贝到本地的dev分支
git checkout -b dev origin/dev
  • 将本地的dev分支推送到远程
git push origin dev
  • 远程分支合并冲突问题(多个合作),一般都是先pull下来解决冲突,然后在push,注意:推送的都是本地版本库的文件,我们一定要提交到本地版本库在push到远程

5.总结

在本篇博客中主要介绍了:

  • 如何安装Git
  • 在本地中如何使用Git
  • 如何链接远程 Git仓库
  • 如何解决冲突问题(多人协作)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值