Git的基本操作以及idea上使用Git
引言
在单人开发过程中,需要进行版本管理,利于开发进度控制.
在多人开发过程中,不仅需要版本管理,还需要进行多人协同控制.
介绍
Git是一个开源的
分布式版本控制系统,用于敏捷高效的处理任何或小或大的项目.是之前说的大二发明Linux的猛男Linus为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件.
架构
版本库:工作区中有一个隐藏目录.git,这个目录不属于工作区,是git的版本库,是git管理的所有内容
暂存区:版本库中包含一个临时区域,保存下一步要提交的文件
分支:版本库中包含若干分支,提交的文件存储在分支中

仓库
一个
目录,这个目录中的所有文件被git管理起来以后会将一个
项目的根目录,作为仓库仓库中的每个文件的改动都由git跟踪
新建仓库
# 选择一个目录,执行指令:
git init
基本操作
# 查看工作状态
git status
# 工作区-->暂存区
git add xxx.txt //添加xxx.txt到暂存区
git add . //添加全部文件到暂存区
# 暂存区-->分支
git commit -m "add longda.txt" //-m "xxx"代表提交的描述
远程仓库
当多人协同开发,每个人都在自己的本地仓库维护版本
但多人之间需要共享代码,合并代码,此时就需要一个
远程仓库
远程仓库工作模式

远程仓库
github: https://github.com
公司内部也可以自己构建远程仓库
操作远程仓库
# 1 添加一个远程仓库地址
git remote add orign https://gitee.com/rolonda/git_xxx.git
# 1.5 查看远程仓库
git remote -v
# 2 上传节点
git push orign master

结果:

# 3 克隆节点
git clone https://gitee.com/rolonda/git_xxx.git

结果:

# 4 多人开发上传/下载
cd git_longda 进入仓库
git pull origin master

总结:多人协同开发,写好代码的git push上传到远程仓库;需要代码的git pull拉取代码
| git remote add 标识名(origin) 远程地址 | 本地关联远程仓库 |
|---|---|
| git clone 远程地址 | 将远程仓库复制到本地(初步构建本地仓库) |
团队同步代码 |
|
| git push 标识名 master | 将本地仓库新增内容上传到远程仓库 |
| git pull 标识名 master | 将远程仓库新增下载内容到本地仓库 |
分支
分支是一个个
版本最终存储的位置分支就是一条时间线,每次
git commit形成一个个版本,一个个版本依次存储在分支的一个个提交点上

分支操作
# 查看当前分支
git branch
- 仓库中默认只有 master 分支
- 执行 git commit 时,默认是在 master 分支上保存版本
# 创建分支
- 商业开发中,不会轻易的在 master分支 上做操作 ---> 会创建一个 开发用的分支 ,在此分支上做版本的记录.
- 当代码确实没有问题时,才会将开发分支上成熟的代码版本添加到 master分支 上 --->保证开发过程中可以及时记录版本,又保证 master 分支 上每个提交点都是稳定版本.
git branch 分支名 //创建分支
# 切换分支
git checkout 分支名

⚠️注意:
如果新增内容保存在分支1上,切换到其他分支并不能看见新增内容.
新分支初始内容
- 每个分支都有一个
指针,新建一个分支,首先是新建一个指针 - 而且新分支的指针会和当前分支指向
同一个提交点 - 新分支包含的提交点就是从第一个提交点到分支指针指向的提交点

多分支走向
- 在master分支和新分支,分别进行
git add和git commit


可以通过
git log --oneline查看分支日志
分支合并
git merge 分支a合并分支a- 合并方式: 1.
快速合并2.三方合并

# 快速合并
如果分支a当前的修改是完全基于分支b的修改而来,则b分支合并a分支就是移动指针即可


# 三方合并(常见)
将 2 和 3 的更改都累加在 1 上,形成新的提交点


分支冲突
情景模拟

解决
修改冲突文件的内容


最后再重新提交主分支
IDEA与Git
1 在idea的setting里配置Git

2 配置.gitignore文件

3 在idea配置git本地仓库
- 方法一:


- 方法二:


4 提交文件


5 文件修改


6 idea上传远程仓库
创建新仓库:

push到远程仓库:

结果:

7 创建新分支/切换分支
创建分支:

切换分支:

通过日志查看提交记录:

push新分支到远程仓库:
可以看到仓库多了一个分支

clone远程仓库

更新本地项目

与远程仓库冲突解决
会有提示,选择适合自己的

当切换账户后push会有无权限认证的问题
解决:
在控制面板中打开凭证管理器,删除gitee的凭证,再次使用时会提示重新输入密码

浙公网安备 33010602011771号