目录
3.3.1、git remote 查看远程仓库别名(默认origin)
3.3.2、 git remote add [远程仓库别名] [url链接] 添加远程仓库
3.3.3、git clone [url链接] 远程仓库克隆
3.3.4 、git push [远程仓库别名] [当前分支] 推送代码至远程
3.3.5、git pull [远程仓库别名] [拉取分支] 从远程仓库拉取代码
3.4.4、git push [仓库名] [分支名] 推送至远程仓库分支
3.5.3、git push [仓库别名] [标签名] 将标签推送至远程仓库
3.5.4、git checkout -b [分支名] [标签名] 检出标签(此处需要新标签)
1、Git安装
1.1、Git环境配置
1.1.1 下载与安装
下载地址:
下载完成后可以得到如下安装文件:
双击下载的安装文件来安装Git。安装完成后在电脑桌面(也可以是其他目录)点击右键,如果能够看
到如下两个菜单则说明Git安装成功
备注:
Git GUI:Git提供的图形界面工具
Git Bash:Git提供的命令行工具
当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息
1.1.2基本配置
1. 打开Git Bash
2. 设置用户信息
设置用户名(此处用户名不用与git账户一致):git config --global user.name “aliyev”
设置邮箱(此处邮箱不用与git绑定邮箱一致):git config --global user.email "[email protected]"
显示全局配置信息:git config --list
2、获取Git仓库
2.1 本地初始化仓库(不常用) git init
创建一个新文件夹用于仓库,执行git init初始化,出现.git隐藏文件夹则新仓库初始化成功
此处的路径即为本地仓库(新文件夹的路径)。
2.2 git仓库克隆(常用) git clone
将在git中创建的仓库链接复制,执行git clone git链接。
这是git仓库
在需要将仓库放在的文件目录下打开Git Bash,执行git clone 链接(这里以上述本地初始化仓库的上级目录为例)
没执行前
执行后:
3、Git常用命令
3.1、Git工作区中文件状态
Git工作区中的文件存在两种状态:
- untracked 未跟踪(未被纳入版本控制)
- tracked 已跟踪(被纳入版本控制)
- Unmodified 未修改状态
- Modified 已修改状态
- Staged 已暂存状态
3.2、本地仓库常用命令
- git status (查看文件状态)
- git add (将文件的修改加入暂存区)
- git reset (将暂存区的文件取消暂存或者是切换到指定版本)
- git commit (将暂存区的文件修改提交到版本库)
- git log (查看日志)
以本地仓库helloGit为例:
- 查看文件状态:
此时test.java文件和test.xml文件为未跟踪状态,即不受git版本管理
- 将上诉两个文件移入暂存区(git add * )
此时两个文件颜色发生改变
- 将test.java文件提交至版本库(git commit -m "日志名" test.java)
此时test用状态查看不了了,则test.java文件已经提交至版本库
- 将test.xml取消暂存
test.xml文件又变成未跟踪状态
- 对test.java文件进行修改,并查看其状态
此时test.java为已修改(modified)未提交状态
- 将test.java提交至版本库,并将test.xml提交至版本库
- 查看其状态
表明没有需要提交的文件,即文件已全部提交至git管理
- 查看日志(git log)
红色标注为版本号,绿色为日志名
- 版本回溯:git reset --hard 版本号
这是提交后的test.java文件下的数据
将版本回溯到最初的样子:
再次查看test.java文件:
此时回复到最初的样子。
3.3、 远程仓库常用命令
3.3.1、git remote 查看远程仓库别名(默认origin)
还记得前面我们使用仓库克隆的文件吧,以那个为例:
- 查看别名
- 查看详细信息(包含url地址)
3.3.2、 git remote add [远程仓库别名] [url链接] 添加远程仓库
还记得helloGit文件吗,那是一个本地仓库,现在,我们将它关联远程仓库
- 查看远程仓库信息
此时我们看到无远程仓库信息
- 添加远程仓库
首先,现在码云上创建一个helloGit的仓库
- 初始化git仓库,点击上面的初始化readme文件
- 将本地仓库helloGit与码云上的hello-git关联
- 再次查看远程仓库信息
3.3.3、git clone [url链接] 远程仓库克隆
- 查看本地仓库目录结构
- 将远程仓库克隆到本地
- 再次查看本地仓库目录结构
表明克隆成功!
3.3.4 、git push [远程仓库别名] [当前分支] 推送代码至远程
分支是什么后面再说!推送成功的前提必须得是远程仓库的成员。
- 在克隆的远程仓库hello-git文件中,创建test.java并写上“你好,Git”,并将其提交至暂存区。
- 将本地仓库代码推送至码云
- 查看码云
3.3.5、git pull [远程仓库别名] [拉取分支] 从远程仓库拉取代码
- 在远程仓库hello-git中,修改test.java文件
- 查看远程克隆的本地仓库中的test.java文件
此时无改变
- 将码云中的代码拉取到本地
- 再次查看本地test.java文件
拉取成功!
常见问题
上述操作都是建立在我们的本地仓库是从马云远程克隆得到,如果本地仓库是我们初始化得到的还能拉取成功吗?
咱们试一试:这里采用上述通过本地初始化的helloGit仓库,已经与远程仓库hello-git相关联
开始拉取代码:
这是成功了吗?我们去文件看看!
好像没什么变化!!!那是什么原因呢?
因为该仓库只是简单与远程仓库关联了而已,关联的历史记录不同,所以无论是拉取代码,还是提交至远程仓库都不行。解决方法是:在git pull命令后加参数 --allow-unrelated-histories
输入后进入到该输入行窗口,输入i,进入插入模式,随便输入一个信息,然后按esc,再按冒号wq,即可!
出现下述信息表示拉取成功!
查看helloGit文件目录
此时我们上传代码至码云也不会有什么问题了!!!
3.4、分支操作常用命令
什么是分支?
分支是Git使用过程中非常重要的概念。使用分支可以把工作从开发主线上分离开来,以免影响开发主线。同一个仓库可以有多个分支,各个分支相互独立,互不干扰。通过git init命令创建本地仓库时默认会创建一个master分支。
3.4.1、git branch 查看分支
- git branch 查看当前分支
- git branch -r 查看当前关联远程仓库分支
- git branch -a 查看所有分支
3.4.2、git branch [分支名] 创建分支
- 在helloGit仓库下创建a,b,c三个分支
此处*号指的就是当前分支
3.4.3、git checkout [分支名] 切换分支
- 切换至c分支
3.4.4、git push [仓库名] [分支名] 推送至远程仓库分支
为了区分分支的作用,以下内容认真看哦!!
- 在a分支下创建a.txt文件,并将其加至暂存区。
- 切换b分支
发现a.txt文件不在了
- 在b分支下创建b.txt文件,并将其加至暂存区,再切换至a分支
此时b.txt文件不在了,a.txt文件又回来了,这就是分支的作用!
- 将所有分支推送至仓库
- 查看码云分支情况
- 查看a分支
此时a分支下有a.txt。
- 查看b分支
b分支有b.txt,推送成功!!
3.4.5、git merge [分支名] 合并分支
- 将a分支和b分支合并至master主分支(需要先切换至master分支)
常见问题
假设修改主分支a.txt,和a分支下的a.txt并加至暂存区重新合并试试!()
- a分支下的a.txt内容
- 主分支下的a.txt文件
- 合并
此时显示让我们解决完冲突再提交!我们打开主分支下的a.txt看看
这好像不是我们预期的效果,这就需要我们手动解决了,删除不必要的部分!
然后重新加至暂存区,重新提交!
这是啥情况!!原来是提交内容不能是部分内容,解决方法:在git commit命令后追加-i即可
- 提交至码云
- 查看码云
3.5、标签操作常用命令
什么是标签?
标签用于存放当时情况的master分支的状态,是一个静态概念,类似于jar包中的版本号。
3.5.1、git tag 列出已有标签
3.5.2、git tag [标签名] 新建标签
- 创建 v1.0,v2.0标签
3.5.3、git push [仓库别名] [标签名] 将标签推送至远程仓库
3.5.4、git checkout -b [分支名] [标签名] 检出标签(此处需要新标签)
- 该操作就是将标签记录下的master状态加至新分支
- 查看码云
4、IDEA集成Git
4.1、引入Git
4.2、本地初始化仓库
4.3、远程仓库克隆
方式一:
方式二:
4.4、.gitegnore文件含义
里面所写为不受git管理的文件
4.4.1、用码云创建带.gitegnore的仓库
4.5、本地仓库操作
4.5.1、添加至暂存区
4.5.2、提交、查看日志
4.6、远程仓库操作
4.6.1、添加远程仓库
4.6.2、推送至远程仓库
4.6.3、拉取至本地仓库
4.7、分支操作
4.7.1、创建分支
4.7.2、查看分支
打开即可看到所有分支
4.7.3、切换分支
4.7.4、将分支推送到远程仓库
4.7.5、合并分支
Git操作总结:
- 在新添加文件或者修改原有文件时,必须先用git add [文件名或*]将文件加至暂存区;
- 加至暂存区的文件还需提交至本地仓库,采用git commit -m "操作名" 文件名或*;
- 当需要将远程仓库文件拉至本地仓库时,若本地仓库是远程仓库克隆而来,直接git pull [仓库别名] [分支],若本地仓库是手动初始化的,需要使用git pull [仓库别名] [分支] --allow-unrelated-histories,有时候拉取不到可以试试git commit -a;
- 在将代码上传至码云需要使用git push [仓库别名] [分支名],尽量保证码云里面有的文件,项目里面有。
- 养成随时使用git status的习惯,防止有文件没加至暂存区;