1.下载安装 ,下载地址 https://git-scm.com/downloads
官网:https://git-scm.com/
2.如果是在windows中 安装git 右键gitbash使用git
3.先要创建Git本地仓库,要在代码的当前文件下使用git命令
git init
4.git会自动产生一个.git文件夹,他会存储git配置文件不要删除
基本操作命令
git status 查看仓库中所有的文件夹和文件状态
git add supercrm 让git管理单独的文件夹或者文件
git add . 管理所有文件和文件夹
配置用户名和邮箱
git cinfig --global user.name<用户名>
git config --global user.email "<邮箱地址>"
提交版本
git commit -m ‘版本信息‘
管理之后进行二次开发,修改一些文件之后
git add supercrm
git commit -m ‘版本信息‘
查看日志
git log
简单使用命令的流程
1.新建git仓库
git init
2.检测当前文件状态
git status
3.他会有三种颜色变化
a 红色:新增文件或修改的文件需要执行git add .
b 绿色 git已经管理起来了 执行git commit -m ‘版本信息‘
c 白色 已经管理完成了
4.git log 查看版本信息
一:git 三大区域
介绍:写作区(写代码的地方) -- git add暂存区(临时存储) -- git commit 本地库或者云端存储(历史版本)
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
文件往Git版本库里添加的时候,是分两步执行的:
第一步用git add把文件添加进去,实际上就是把文件修改添加到暂存区。
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
创建Git版本库时,Git自动为我们创建了唯一一个master分支,git commit就是往master分支上提交更改。add需要提交的文件修改通通放到暂存区,然后commit可一次性提交暂存区的所有修改
二:git 回滚
假如我们现在写了三个版本了,但是你发现第三个版本有问题,或者说被迫的下线第三个版本添加的新功能,那么我们是不是要将代码回到第二个版本的状态啊,如果我们自己手动去修改是不是就非常的麻烦了,所以此时就用到我们git回滚功能了
git log #查看日志,每个版本都有版本号
git 回滚操作指令
git reset --hard 版本号
git reset --hard a3c69761b4ecd8b23c392315cd245f2939024882 (第二个版本的版本号)
如果想要再次回滚到版本三怎么办
git reflog #也就是git log 的加强版
git reset --hard
Git的强大之处,能够让我们在任意版本之间来回切换。
将文件以修改的工作区回滚到未修改的状态
git checkout --文件名 #
修改的文件已经已经添加到了暂存区 回滚
git reset HEAD 文件名
回滚到未修改的状态
git checkout --文件名
git 回滚示意图
git 指令总结
git init #创建本地git仓库
git add . #管理所有文件
git commit -m ‘‘ #设置一个版本号并上传提交
git log #查看版本号
git reflog #查看所有版本号
git reset --hard 版本号 #回滚命令
git 分支
分支可以给使用者提供多个开发环境,也就是说可以将你的工作从主线中分离出来,以免影响开发主线,等分支的代码开发完之后,再合并到主线代码上,就比如说,我们写了一个毕业论文,大致的流程写完了,但是我们可能觉得某些地方写的太少了(添加新功能),需要丰富一下,或者有些地方可能写的有问题需要调整一下(之前的代码有bug,需要修改),那么我们怎么做呢,是不是会复制一份这个论文,然后再修改,改完之后如果没有什么问题,就将改完之后的作为了最新的版本(分支上添加了新功能或者修复了bug,然后进行分支合并)。
大家在这里先不用去考虑公司里面到底是怎么使用git来进行工作的,我们首先先来看看,如果你在自己的电脑上开发程序,用git是怎么个流程,怎样开分支,分支是个什么样子?
比如,我们现在的代码开发到了第三个版本,之前我们没有说什么分支的概念,其实我们开发代码的时候,默认的分支叫做主分支(master分支),只是我们一直还不知道。
指令总结
Git branch 查看当前分支
git branch dev 创建一个dev分支
git checkout dev 将工作切换到dev分支上
git checkout -b dev 创建并切换到dev分支上,是上面两个命令的合体
git branch master
创建一个master分支
git merge bug 分支合并---首先切换到master分支,然后在master分支上执行merge指令来合并bug分支的代码
gti branch -d bug 删除bug分支
代码合并可能出现的问题
比如我当前的代码只到了test3,3版本,我想添加一个新的功能test4,那么我就创建了一个dev分支
,并在dev分支上添加了test4,比如说test4需要打印两行内容,但是我现在写了一行内容的时候,
发现之前线上使用的代码(线上使用的代码一般是master分支上的),
出现了bug,那么我们需要切换到master分支,并且在master分支上再创建一个bug分支,在bug分支上修复
bug,修复完成之后,需要合并到master分支上,合并之后的版本我们暂且称为5版本,记着,5版本的代码和
dev开分支时的3版本代码是有些变动的,因为修复了bug,但是dev分支上还是使用的master分支上的v3版本进
行的新功能的开发,那么bug修复完之后,我们现在又要回到dev分支上继续新功能的开发,开发完成之后,需要
合并到master分支上,合并的时候,你会发现报了一个错误,其实也不是错误,就是提示你,代码有冲突,这冲突怎么来的,你想,master分支已经到了c5版本,但是dev
分支上的代码还是从master分支的c3版本的基础进行添加新功能的,所以合并的时候c3版本的其他代码和它c5
版本的代码本身就有一些不一样的地方(就是那个bug修复的地方),所以出现了冲突的问题,那么怎么办呢,没
办法,我们只能手动来修复冲突,那么怎么修复呢,git会将所有的冲突全部标记在你的代码文件中,有冲突的
方法,找到它手动修改一下就可以了。其实,只要我们两个分支中的相同的文件的同一行出现了不同的内容,合
并时就会出现冲突。看一下冲突的报错是什么样子的:
出现了bug,我们看看bug在哪里,其实git会将冲突在你的代码文件中标识出来,看图:
这里提示你了,dev分支上是哪些内容,master分支上是哪些内容,我们把没用的删除就可以了,然后提交一个新的版本,这样就完成了分支代码合并
git 工作流
公司一般最少有两个分支,master只保留正式(线上)版本,dev(develop)分支,开发都在dev分支上搞。
上传代码
1. 给远程仓库起名
git remote add origin 远程仓库地址
2. 向远程推送代码
git push -u origin 分支
在新电脑上第一次获取代码
1. 克隆远程仓库代码
git clone 远程仓库地址(内部已实现git remote add origin 远程仓库地址)
2. 切换分支
git checkout 分支
在新电脑上进行开发
1. 切换到dev分支进行开发
git checkout dev
2. 把master分支合并到dev(仅一次)
git merge master
3. 修改代码
4. 提交代码
git add .
git commit -m ‘xx‘
git push origin dev
回老电脑上继续写代码
1. 切换到dev分支进行开发
git checkout dev
2. 拉代码
git pull origin dev
3. 继续开发
4. 提交代码
git add .
git commit -m ‘xx‘
git push origin dev
原文:https://www.cnblogs.com/0jiaqing0/p/14779605.html