赞
踩
在项目开发过程中,项目每开发到一个节点就会对当前项目进行备份,这个备份就是项目的一个版本;当我们继续开发一个阶段后,再次进行备份,就生成新的版本——多个版本的集合就是项目的版本库
在项目版本管理中,我们可以使用手动进行管理,但是存在一些问题:
Git是一个开源的分布式版本控制系统,用于敏捷高效的处理任何大小项目的版本管理。
核心功能:
https://git-scm.com |
---|
除了选择安装位置以外,其他都傻瓜式安装
git --version
git init
指令,创建版本库(就是一个.git目录)git status
git add a.txt ## 只将工作空间中的某个文件add到暂存区
git add . ## 将工作空间中所有文件都add暂存区
git commit -m '版本说明'
git log ##显示每个版本的详细信息
git log --oneline ##每个版本信息只显示一行
因为我们将暂存区的内容提交到版本时,会记录当前版本的提交的用户信息,因此在版本提交之前需要先绑定用户信息
git config --global user.name "用户名"
git config --global user.email "邮箱"
git checkout 版本号
远程仓库,远程版本库; 实现版本库的远程存储,以实现团队的协同开发
使用GitLab搭建私服
远程仓库提供商
注册账号
创建远程仓库:https://gitee.com/***/***.git
远程仓库管理(添加开发人员)
创建本地工作空间
E:\Java\javademo
src
main
java
resources
test
java
pom.xml
初始化本地仓库
git init
将工作空间搭建的项目结构add到暂存区
git add .
将暂存区文件提交到版本库,生成第一个版本
git commit -m '创建项目'
为当前项目创建一个远程仓库
https://gitee.com/***/***.git
建立E:\Java\javademo中的本地仓库 和 远程仓库https://gitee.com/***/***.git的关联
git remote add origin https://gitee.com/ci-yun/***.git ##origin(远程仓库的别名)
git remote -v
push到远程仓库需要Gitee的账号和密码
git push origin master ##origin(远程仓库的别名),要和建立关联时的别名一致
其他开发者:123456@qq.com 123456
在E:\Java\javademo创建ws目录(空目录),进入ws目录,打开Git客户端
创建本地版本库
git init
拉取远程仓库
git pull 远程仓库地址 master
git pull https://gitee.com/ci-yun/***.git master
场景: HelloWorld.java "bbb"
开发者1:程序员A 开发者2:程序员B
-----------------------------------------------------------------------------------------
git pull origin master git pull origin master
在HelloWorld.java中新增内容 "bbb"
在HelloWorld.java中新增内容 "aaa"
git add .
git commit -m ''
git push origin master
git add .
git commit -m ''
git push origin master ##会失败!!! ----在我pull之后,push之前被其他开发人员push过
问题:我该如何操作?
git pull origin master ##将程序员B修改的内容拉取到我本地
对文件进行冲突合并
git add .
git commit -m ''
git push origin master
HelloWorld.java
>>>>>>>>>>>>>>>>>>>>>>>>HEAD
aaa
=================
bbb
<<<<<<<<<<<<<<<<<<<<<<<< hvsoklghviodshfjghv
分支就是版本库中记录版本位置(支线),分支之间相互不影响,使用分支可以对项目起到保护作用
分支就是一条时间线,每次提交就在这条时间线上形成一个版本
1.查看分支 git branch
2.创建分支 git branch 分支名称
3.切换分支 git checkout 分支名称 ##切换到指定分支上的最新版本
4.检出分支 git checkout 版本号 -b 分支名称 ##检出指定的历史版本创建新分支
三方合并 快速合并
##在master分支执行 git merge dev 表示将dev分支合并merge
5.合并分支 git merge 分支名称 ##将指定的分支合并到当前分支
6.查看分支及版本试图 git log --oneline --graph
作为Java开发工程师,我们代码的编写工作都是在IDE工具(idea)中完成,因此我们需要了解和掌握直接使用IDE工具完成Git的操作
准备工作:打开IDEA新建一个web工程
在工作空间中有些文件是不需要记录到版本库中的(例如.idea、target、.iml文件),可以通过设置忽略提交来实现
在工作空间的根目录(项目的根目录)中创建一个名为 .gitignore
文件
在 .gitignore
文件中配置忽略过滤条件
.idea
target
*.iml
选择项目/某个文件----右键----Git----Add(添加到暂存区的文件----绿色)
如果一个文件创建好之后还没有添加到暂存区----棕红色
添加到暂存区的操作可以设置默认添加
点击IDEA右下角 Git
在弹窗中点击 New Branch
输入新分支的名称
Git
checkout
点击右下角Git |
---|
例如:将dev合并到master
Merge into current
为当前项目创建本地版本库
将搭建好的项目提交到本地版本库
checkout as
新建本地 dev
分支(master分支需要进行保护)打开项目(此时本地工作空间的项目和远程仓库是同步的)
开发步骤:
冲突:在pull之后,push之前被其他开发者push成功
Merge
手动合并(和其他开发者沟通合并方案)mages/image-20210527221507263.png) |
打开项目(此时本地工作空间的项目和远程仓库是同步的)
开发步骤:
冲突:在pull之后,push之前被其他开发者push成功
Merge
手动合并(和其他开发者沟通合并方案)Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。