Git工具
一.git 概念
一个分布式版本控制系统,每个人都将项目保存在自己的电脑上,不需要联网就能工作,每个人只需要将自己完成或者修改的上传到中央服务器就好了
二.Git基本操作流程
//1.安装 Git
//2.右键,点击Git Bash Here
//3.输入用户名和Email地址,单机不联网可以随便输入
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
//4.初始化仓库
git init
// 运行成功后会多一个.git的目录
//5.使用git add . 将文件交给Git管理
//6.用命令git commit告诉Git,把文件提交到本地仓库
git commit -m "这里写你刚刚进行的操作,用于记录"
图标状态
三.git工作区 暂存区 版本库(本地仓库)
.git里面的文件
四.Git常用命令
//1.git add告诉Git,把文件交给 Git 进行管理,即将文件提交到暂存区
git add .
//2.git commit -m 将文件从暂存区提交到本地仓库
git commit -m "刚刚修改或操作的步骤,用于记录"
//3.git status 查看当前git版本库的状态(查看缓存区中的文件内容)
git status
//4.git log 日志,用于查看历史记录,可以查看用户名 邮箱 commit的时间 还有唯一标识等所有信息
git log 查看所有信息
git log --pretty=oneline 查看部分信息
//5.git diff 查看不同版本之间的文件差异
git diff
//6.git reset --hard HEAD^ 回到上一个版本,
//例如:我刚刚修改了a文件,然后将a文件中的一些信息不小心删除了,此时我们可以使用回退到上一个版本的命令,回到刚开始的状态
git reset --hard HEAD^ 上个版本
git reset --hard HEAD^^ 上上个版本
git reset --hard HEAD~100 回到100个版本前
//7.回到指定的版本,commit id 为唯一标识,每一个提交的文件都有一个
git reset --hard <commit id>
//8.git checkout -- filename 撤销修改,就是让这个文件回到最近一次 git commit 或 git add 时的态,
// 当文件已经提交到暂存区后,又做了修改,撤销修改就是回到添加到暂存区后的状态(commit之前的操作)
// 当文件修改后没有被放到暂存区(git add),撤销修改就回到和版本库一模一样的状态
git checkout -- 文件名
//9.git rm -- 文件名 删除文件
git rm -- 文件名
五.git的分支操作
分支管理
//10.git branch
git branch 查看分支
git branch <分支名> 创建分支
//11.git checkout <name> 切换分支
git checkout <分支名>
//12.git checkout -b <name> 创建 + 切换分支
git checkout -b <name>
//13.git merge <name>将某分支合并到当前分支
git merge 分支名
//14.删除分支
git branch -d 分支名
//15.从远程仓库中pull操作拿到本地仓库(下载文件)
git pull
//16.将本地push到远程仓库(上传文件)
git push
//17.从远程仓库中克隆整个代码仓库,进公司的第一步
git clone 远程仓库路径
六.项目初始化
有的时候,可能我们有一个项目在本地已经创建好了,但是远程还没有仓库,此时我们即需要将本地仓库初始化为 git 仓库,并将其提交到远程仓库中去
步骤1:设置名字与邮箱
git config --global user.name "sxxn"
git config --global user.email "122xxxx573@qq.com"
步骤2:进入到需要传送到远程的仓库目录中,初始化本地仓库
git init
步骤3:设置提交忽略文件
//为了避免项目中有些本地环境特有的文件被传入到远程仓库,我们只需要上传src和pom.xml
步骤4:在本地提交代码, 初始化项目
git add .
git commit -m “项目初始化”
步骤5:配置远程仓库路径
git remote add origin https://gitee.com/shan1111111/crm.git
步骤6:将本地仓库master分支代码推送到远程仓库
git push -u origin master
七.码云操作与idea
步骤1:根据公司提供的仓库地址在idea中克隆远程仓库,即将项目下载到本地
步骤2:创建自己的分支
idea右下角点击New Branch
分支创建成功后,会自动将之前(master)所在分支的文件同步到新创建的分支上,此时新创建的分支与原来的分支文件内容是一致的
步骤3:文件新增编辑和删除
创建新文件时,idea 会弹出一个提示框,确认是否要添加到 git 暂存区,
1.如果点否的话,文件颜色就是红褐色,下次提交需要add 和commit ,
2.如果点是,文件颜色就是绿色,表示文件已在暂存区,提交需要commit,
3.如果我们更改了已经提交到远程仓库的文件,此时文件颜色就是蓝色,需要commit到本地仓库
4.当我们进行commit操作时,一定要记得在Commit Message界面写上我们刚刚进行的操作,用于记录
步骤4:自己的项目开发完成后,先将项目push到自己的远程分支仓库,用作备份或加班
步骤5:分支合并,合并之前先在master分支上进行pull操作,即将最新的内容pull到本地,并手工保存一份
当我们将自己的分支push到自己的远程分支后,还需要将我们的分支与master分支合并,因为此时我们开发的内容并不在master上面,
此时我们需要测试完成确定没问题后将自己分支合并到master分支上面去,切换到master分支,先pull操作进行备份,再进行合并
步骤6:在master 分支上将合并后的内容重新 push 到远程的 master
push操作的冲突问题
当员工A和员工B同时修改相同文件时,并且员工B先修改完并提交了,此时员工A没有更新远程的代码,然后直接更改文件后就提交了,这时就会出现冲突
解决步骤一:当push时看见下面这个页面时,表示冲突产生了,我们需要点中间的按钮,进行合并
解决步骤二:完成第一步后,会出现下面这个界面,这时记得一定要选择Merge这个按钮
解决步骤三:将本地仓库和远程仓库的代码同时移到中间合并,点击Apple按钮
团队开发注意事项
-
组员每次开发,都必须先 push 到自己的远程分支
-
每次对 master 分支做合并或推送之前,原地备份代码
-
组员(组长)确保自己分支的代码与 master 分支都没有错误以后,将本地 master 推送到远程
-
每天早上开发前,先切换到 master 分支,更新代码,确保是最新版本,如果有更新下来内容,同样先对整个项目进行备份,再切换到自己的分支,然后将 master 合并到自己的分支上
-
每个小组每天必须保证一份新的代码,即组员除了将代码提交到自己的分支以外,都必须再将自己的代码合并到master
-
每次合并或推送前,都先对项目进行备份,避免操作不熟练导致出错后代码丢失
流程图: