文章目录
- Git
- 简介
- 准备工作
- 常用的Linux命令
- git配置
- git工作原理
- git项目创建和克隆
- git基本操作命令
- git忽略文件
- 配置ssh远程连接
- IDEA集成Git
- git分支(多人开发)
- 公司中用到的(很清楚)
Git
简介
Git就是版本控制的工具
下面这个叫手动控制版本
svn是集中版本控制
只有一个服务器有全部代码
git是分布式版本控制
安装后有三个不同选项的可以进行版本管理
建议用 git bash
准备工作
常用的Linux命令
常用linux命令
cd 目录
cd … 中间有空格,返回上一级目录
pwd 显示当前目录路径
clear 清屏(和windows的cls同)
ls 列出当前文件夹所有文件
touch 文件名 新建文件
rm 文件名 移除文件
mkdir 目录名 创建目录
rm-r 目录名 删除目录
mv 文件名 目录名 将文件移动到目录中(保证目录和文件在同一个目录(文件夹)下)
history 查看历史命令
exit 退出
git配置
查看git配置
git config -l
该显示会显示出来用户自己配的和系统帮我们配的
查看本地(系统帮我们)配的
git config --system --list
查看自己配的
git config --global --list
这两个配置实际上就是对应了两个文件
设置配置
用户和邮箱就必须要配置的
git config --global user.name "xiaoyuan"
git config --global user.email "xxx@xx.com"
git工作原理
工作目录就是我们的项目目录,可以看到里面有.git文件,说明这个项目被我们的git管理
暂存区和资源库不用管,属于理论的一部分
远程仓库就是github和gitee
通过
git add 文件名
来将文件 放入暂存区
git commit 文件名
将文件放入本地仓库
git push
将项目提交到远程仓库
git项目创建和克隆
创建git项目
git init
克隆git项目
git clone [url] 注:这个url是我们github或者gitee获取的
但这里是默认取我们的master分支(我是在main分支里面写的代码)
git基本操作命令
我们创建完git
在项目中写完代码先git add .将所有文件添加到暂存区
然后git status 可以看到所文件谁没有被添加到暂存区,暂存区的文件又是哪个没有提交到本地仓库
这里两个文件,我add 了cc会显示cc没有提交,hello没有被追踪(没加入到暂存区)
然后使用 git commit -m “消息内容”
将我们的暂存文件提交到本地仓库,消息内容表示注释,这次提交是更改了说明内容,完成了啥功能
git忽略文件
这就gitee创建还有默认模板可以选
忽略文件的话主目录下
先创建.gitignore文件
1.就是空行和#开始的行相当于注释(忽略)
2.然后就是你配吗根据2345进行相应的配置,每一行配一条
这里就举个例子
*.class 代表所有文件名以.class为结尾的都不提交
target/ 代表target下面的所有文件都不提交
配置ssh远程连接
就是将我们本地和远程仓库连接,实现无密登录
先生成ssh公钥
ssh-keygen
然后一直点回车,根据生成位置找到文件
然后将我们文件以记事本打开cv到对应git仓库的添加ssh添加即可
ok
IDEA集成Git
很简单
然后这里也可以完成推送等一系列操作
配置远程就可以推送到远程
通过这个左下角还可以查看每次提交的记录
git分支(多人开发)
分支管理
本地和远程都可以有不同分支
一般是一个团队管理一个分支,共同开发一个项目
分支之间本身无相互影响在需要合并时候就有取舍问题
一些分支命令
git checkout [分支名称] 切换到该分支
我认为我们使用git问一下公司git管理,是怎么开发的
我们每个人有自己的开发分支,最后合并到公司项目分支(我们开发分支基点都是公司项目分支)
我们先git clone url,拉代码,然后git branch [分支名],开一个人开发分支
然后我们每次开发完一个功能,去git commit和push,push到我们个人开发分支,所以不会有冲突
如果远程仓库项目分支(dev)有更改,我们需要upadte,将我们的代码更新到最新一个状态(这个一般是多人开发一个分支用的操作)
而代码合并就是
我们自己的开发分支最终和到项目的分支上
假设master是项目分支,我们想要将我们的分支合并到项目分支上
点击那个键就可以,可能会有冲突,和同事沟通解决
公司中用到的(很清楚)
这个是每一个人有自己的开发分支的情况
第一步先拉,本地有一个dev,然后dev里面开一个mybranch自己写代码
写完后push,然后需要合并,先在本地合并,再次update dev(因为你写的可能和别人有冲突,这样可以检测冲突),然后merge 我们mybranch,这里如果有冲突就和同事沟通一下
然后merge完,再push我们的dev,dev就是添加你了的代码并且上了远程仓库
(之后你如果还要开发就在mybranch里面merge/rebase一下dev,让你的mybranch也变成最新状态)
这里第四步不建议切到master,可以切换到dev,就你们的开发分支
dev先拉一下变成最新状态,dev(本地的)再merge我们的branch,再push即可
这个有操作