Git
1.Git概述
1.Git概念:Git是一个分布式版本控制(工具),主要用于管理开发过程中的“ 源代码文件”(java类、xml文件、html文件等);
2.Git:
a:代码回溯
b:版本切换
c:多人协作
d:远程备份
3.Git:分为两种:
(1)本地仓库:开发人员自己电脑上的Git仓库
(2)远程仓库:远程服务器上的Git仓库
//分布式:体现在有两种仓库是分开的;
4.Git相关动作:
2.Git代码托管服务:
(1)常用的Git代码托管服务:
(1):
Git有:"本地仓库"和"远程仓库"
"远程仓库" 需要借助 代码托管服务来实现:(eg://在码云上创建远程仓库)
//代码托管服务:
githup
码云
gitLab
BitBucket
//这里我们使用码云作为代码托管服务来创建远程仓库;
(2) 使用码云代码托管服务:
1:使用码云的操作流程如下:
a:注册码云账号
b:登录码云
c:创建远程仓库
d:邀请其它用户成为仓库成员;
/*
每一个远程仓库都有一个唯一网络地址;
可以创建多个远程仓库;
邀请其它用户称为仓库成员;
3.Git常用命令:
(1)常用命令1:
在Git命令行中执行:
1:设置用户信息:
a:
设置用户信名称
git config --global user.name "用户名";
eg:.... "itcast"
b:
设置用户邮箱地址
git config --global user.email "email地址"
eg: ... "hello@itclast.cn"
2.查看配置信息:
git config --list
3.获取git仓库:
要使用git对我们的代码进行版本控制,首先需要获得Git仓库;
(1)在本地初始化一个Git仓库(//不常用)
a:在任意一个目录下创建一个空目录(eg:repo1)作为我们的本地Git仓库
b:进入这个目录中,点击右键打开Git bash窗口
c:执行命令 git init
(2)从远程仓库中克隆(//常用) :从已有的远程仓库,将远程仓库克隆过来:这样就获得了本地git仓库!!!
步骤:
git clone [远程仓库地址]
//注意:在使用git命令时要注意是在哪层目录下执行的命令;
//git init :本地仓库初始化;
4.Git常用概念!!!:
(1)版本库:.git就是版本库://里面存储了许多配置信息、日志信息和文件版本信息;
(2)工作区:包含.git文件夹的目录就是工作区://主要存放开发的代码;
(3)暂存区/index/stage:.git文件夹中的index文件就是暂存区,也叫stage;://临时保存修改文件的地方;
//注意:三者关系:工作区 git add * 到暂存区 git commit 到版本库;!!!!
5.Git工作区中文件状态:
Git工作区中的文件有两种状态:
(1):untracked:未跟踪状态(未被纳入版本控制 //一般是新创建的文件:还没有执行 git add命令之前!!!!)
(2):tracked:已跟踪(被纳入版本控制 //执行完 git add:就变成 "已跟踪"了): ---->即将其纳入git管理!!!
a:Unmodified:未修改状态
b:Modified:已修改状态
c:Staged:已暂存状态
//注意:这些文件状态会随着我们执行Git的命令发生变化;
/*
红色:代表将文件修改了,但是还没有放到暂存区(即还没有执行add)
绿色:放到暂存区
*/
(2)Git本地仓库操作命令:!!!
git status :查看文件状态
git add:将文件的修改加入"暂存区"
eg: git add user.xml:将user.xml加到"暂存区";
git reset: 1:将暂存区的文件取消暂存 eg: git reset user.xml: 将user.xml从暂存区中取消;
2:或者是切换到指定版本; eg: git reset --hard 固定参数+字符串;
切换指定版本进行穿越!
git commit!!!:将暂存区的文件修改提交到版本库
eg:git commit -m "...(mesage提示信息)" hello.txt :将hello.txt提交到"版本库";
git log:查看日志; //可以查看到:操作过程、message提示信息、用户信息等
(3)Git远程仓库操作的命令:
对远程仓库进行操作:
git remote:查看远程仓库
git remote -v:查看远程仓库详细信息;
git remote add:添加远程仓库
//语法:git remote add origin 远程仓库地址;(即两者之间建立关系)
先创建一个本地仓库 和 在码云上创建一个远程仓库,然后通过命令 给本地仓库和远程仓库建立了联系; //-->之后他们之间就可以进行通信:把本地的代码推送到远程,把远程的代码推送到本地;
get clone +远程仓库地址:从远程仓库克隆;(即将远程仓库复制一份,复制到本地)
get pull:把本地的一些文件推送到远程
:git pull origin 分支:表示从哪个分支拉取;
//使用背景:多人协作
get push:将本地仓库的文件推送到远程仓库;
git push origgin master
//注意:git add:加入暂存区; --> git commit:加入本地仓库; -->: git push origin master(分支);
//注意:无论是本地仓库还是远程仓库,文件修改之后:都要先添加到暂存区;
(4)Git分支操作:!!!!!!!!!!!
同一个仓库可以有多个分支:多个分支之间相互独立,互补影响;
通过 "git init "命令 创建本地仓库时 默认会创建一个"master主分支";
"Git 分支相关命令":
(1) git branch:查看分支
git branch:查看本地所有分支
git branch -r :列出所有远程分支
git branch -a:列出所有本地分支和远程分支;
(2)git branch +名称:表示创建一个新的(本地)分支
(3)git checkout +分支名称:切换到指定分支
eg:git checkout b1:切换到b1分支;
(4)git push origin(远程仓库别名) 分支名称a :将本地仓库的 分支 推送到远程仓库!!
第一步:先进入具体的分支: git checkout b1
第二步:将b1分支推送到远程仓库中
(5)git merge:合并分支;
eg:将b1,b2合并到master分支下:
第一步:先进入master分支:git checkout master //!!!!
第二步: 将b1、b2 分支下的内容合并到当前分支下
-->:git merge b1
git merge b2
//注意:操作时要注意此时处在哪个分支下!!!!!!!!
(5)Git分支操作(分支合并时冲突解决)
eg:b1分支下有b1.txt,而master分支合并了b1分支;
之后master分支下有master.txt 和 b1.txt 文件;
/*
我们先切换到master分支下修改b1.txt 并提交到远程仓库,而后,我们修改b1分支下的b1.txt,并提交到远程仓库;
--》之后我们想要进行文件master和b1分支内容合并时:就会失败; (两个分支都对同一个文件进行修改时,再次合并就会出现乱码)
*/
git checkout master
git merge b1;
----->:如何解决呢:因为将b1分支的内容(b1.txt)合并到master分支下之后:当我们在查看mstaer分支下的b1.txt时:处理分别有b1分支下b1.txt的内容和 master分支下b1.txt的内容之外,还有一些乱码:
1.我们可以手动删除那些乱码
2.之后:使用git add b1.txt:代表告诉b1.txt已经合并好了
3.然后之间提交到远程仓库即可:git commit -m "" b1.txt
//注意:如果碰到:报:fatal cannot do a partial commit during a merge; 时:之间在其后面 追加 “-i”即可运行成功!!!!
(6)Git标签操作命令:
Git中的标签,指定是 某个分支某个特定时间点的状态。
(1)git tag :列出已有的标签
(2)git tag+标签名称:创建标签
(3)git push origin +标签名称:将标签推送到远程仓库
(4)git checkout -b [要创建的分支名称][标签名称] :检出标签:即将当时标签的状态下载下来; -->//检出标签时需要创建一个新的分支指向某个标签;
//标签是一个静态的:一旦标签打完了,文件夹中相应文件的状态就定好了(eg:当前标签对应的时间下有哪些文件,另一个标签对应的时间下有哪些文件)
//分支:可以一直变化;
//标签就相当于以一种方式来保存历史版本!!!
4.IDEA中使用Git:
(1)
在IDEA中使用Git"获取获取仓库"有两种方式:
1.本地初始化仓库
工具--Vsc--创建git仓库
2.从远程仓库克隆 (//!!!)
工具--Vsc--克隆:输入远程仓库地址
创建git仓库之后:有一个 ".gitignore文件" ://是用来告诉git,当前仓库的哪些文件不需要管理;
//我们可以在码云上创建仓库时:勾选初始化:并在.gitihnore:选择java即可
(2)IDEA--使用Git进行本地仓库操作:
1.加入暂存区的情况:
//添加新的文件时; 对已有文件进行修改的时候,都需要加入暂存区;
将文件加入暂存区:在创建时会提示:add / 或者:右击文件->Git->添加(add)
2:将暂存区文件提交到版本库(即交给Git管理):
//选中想要提交的文件--上方工具栏--Git--对勾:代表提交
// !!!---:且“√”:代表加到暂存区 + 提交到版本库;
3.查看日志:
工具栏--Git--日志;
(3)IDEA--远程仓库操作
(1)查看远程仓库
选中文件--右击-git-管理远程:即可查看/添加远程仓库;
(2)添加远程仓库
//一个本地仓库可以对应多个远程仓库
//方法同上:写好远程仓库的name、地址即可;
(3)推送至远程仓库!!!!!!
右击-git-推送
/////!!!!!!!:在提交到本地仓库的同时 也推送到远程仓库:直接点工具栏-git-√-commit下三角(选择commit and push)
(4)从远程仓库拉取!!!!!
使用背景:当远程仓库中有新的代码时:
////!!!!!!!!:工具栏--git--斜向下箭头
(4)IDEA--分支操作:
(1)查看分支:
右击--git-分支
//或者左下角Git视图点开
(2)创建分支
//左下角Git视图点开 --点 ”+“
(3)切换分支
//左下角Git视图点开--直接双击对应分支即可
(4)将本地创建的分支推送到远程仓库
//左下角Git视图点开--选中相应的分支--右击--推送
(5)合并分支